⑴ 如何修改android手機特效
工具/原料
一部安卓系統手機
好壓或WinRAR軟體
特效文件壓縮包
主題美化資源圖標
步驟/方法
將手機中的framework-res.apk文件復制到電腦上,用好壓等解壓。
文件結構如下:
assets文件夾是存放不進行編譯加工的原生文件,即該文件夾裡面的文件不會像xml,java文件被預編譯,可以存放一些圖片,html,js,css等文件。
META-INF存放簽名文件
Res存放特效文件、各種圖標資源、界面框架等。
Resources.arsc是各種語言文件包
打開res文件夾後,我們就可以看到我們要修改的文件了。
1.anim就是特效文件夾,可以將別的手機里的Framework-res.apk的anim文件夾直接復制替換你手機里的anim文件夾,從而達到換特效的目的。
2.drawable-hdpi就是手機大部分圖標界面圖的位置所在。
3.drawable-land-hdpi裡面主要是是橫屏下的解鎖條圖片之類。
4.color裡面是界面文字等配色文件。
我們要修改的就是前三個文件夾。
替換特效
由於我不懂懂得如何自己修改裡面的文件,目前只是把不同機子的特效提取出來,並全部粘貼,以達到修改特效的目的。
下面是我找到的集中特效,大家可以將文件夾中的全部復制到anim中,出現提示確認框後,點擊」全部是」即可。具體步驟如下:
1.
2.
3.
下載地址:
http://u.115.com/file/dnhcdg36#上中特效.rar
http://u.115.com/file/clqnu741#飛來飛去特效.rar
http://u.115.com/file/aq73ianj#上中下特效.rar
http://u.115.com/file/dnhcd0ap#左右特效.rar
對於圖標的修改替換
圖標存放在drawable-hdpi中,對於PS等工具使用較好的朋友,就可以自己製作圖標了,或者我們可以在網上搜索一些漂亮的圖標替換掉,記著文件名要和文件夾中的保持一致,不然系統如法識別,而且對圖片的大小等也有限制。
替換完成後就是關閉好壓就可以了。
替換手機系統中的framework-res.apk
這一步很關鍵,如果操作不當就可能導致無法進入系統等災難性問題。
1.將framework-res.apk文件傳到手機上。
2.用RE管理器打卡SD,找到framework-res.apk,長按後選擇」復制」。
3.進入手機內存,將手機內存掛在為」讀寫」,如圖:點擊」載為讀寫」4.找到system文件夾,並打開。繼續第三部操作,將內存載入為」讀寫」。
5.點擊下方的」粘貼」按鈕。6.在framework-res上長按後,點擊並打開」許可權」,設置為下圖,並按確定。7.長按此文件,選擇」復制」,打開framework文件夾後,點擊」粘貼」。
8.重啟手機,生效。
⑵ android怎麼用paint實現圖像的漸變出現
在android.graphics中提供了有關Gradient字樣的類,例如LinearGradient線性漸變、 RadialGradient徑向漸變和SweepGradient角度漸變三種,他們的基類為android.graphics.Shader。為了演 示圖像漸變效果,下面給出一個簡單的實例。
一、LinearGradient線性漸變
在android平台中提供了兩種重載方式來實例化該類分別為,他們的不同之處為參數中第一種方法可以用顏色數組,和位置來實現更細膩的過渡效果, 比如顏 色采樣int[] colors數組中存放20種顏色,則漸變將會逐一處理。而第二種方法參數僅為起初顏色color0和最終顏色color1。
LinearGradient(float x0, float y0, float x1, float y1, int[] colors, float[] positions, Shader.TileMode tile)
LinearGradient(float x0, float y0, float x1, float y1, int color0, int color1, Shader.TileMode tile)
使用實例如下:
Paint p=new Paint();
LinearGradient lg=new LinearGradient(0,0,100,100,Color.RED,Color.BLUE,Shader.TileMode.MIRROR); //參數一為漸變起初點坐標x位置,參數二為y軸位置,參數三和四分辨對應漸變終點,最後參數為平鋪方式,這里設置為鏡像
剛才已經講到Gradient是基於Shader類,所以我們通過Paint的setShader方法來設置這個漸變,代碼如下:
p.setShader(lg);
canvas.drawCicle(0,0,200,p); //參數3為畫圓的半徑,類型為float型。
二、RadialGradient鏡像漸變
有了上面的基礎,我們一起來了解下徑向漸變。和上面參數唯一不同的是,徑向漸變第三個參數是半徑,其他的和線性漸變相同。
RadialGradient(float x, float y, float radius, int[] colors, float[] positions, Shader.TileMode tile)
RadialGradient(float x, float y, float radius, int color0, int color1, Shader.TileMode tile)
三、SweepGradient角度漸變
對於一些3D立體效果的漸變可以嘗試用角度漸變來完成一個圓錐形,相對來說比上面更簡單,前兩個參數為中心點,然後通過載入的顏色來平均的漸變渲染。
SweepGradient(float cx, float cy, int[] colors, float[] positions) //對於最後一個參數SDK上的描述為May be NULL. The relative position of each corresponding color in the colors array, beginning with 0 and ending with 1.0. If the values are not monotonic, the drawing may proce unexpected results. If positions is NULL, then the colors are automatically spaced evenly.,所以建議使用下面的重載方法,本方法一般為NULL即可。
SweepGradient(float cx, float cy, int color0, int color1)
到此,希望大家對圖像特效處理有了一定的認識,了解這些對打好Android游戲開發的基礎很有好處。
轉載
⑶ Android在canvas中實現高性能的煙花/粒子特效
新年到了,本文將展示通過自定義view繪制煙花效果的案例,同時介紹一種優化canvas繪制時的性能的方法.
每點擊一下屏幕會產生一枚煙花,煙花飛到最上空會炸裂成60~100個碎片,
同屏可能有上千個粒子在不停更新它的位置.
github
這時候功能基本實現了,剩下的就是將每一個煙花繪制在canvas上,通常我們會這樣寫
然而你會發現性能很糟糕,幀數隨著粒子數的增加直線下降直到個位數,優化如下
some codes were from Daniel Shiffman
⑷ android卡片上下切換特效
實現了在android實現左右滑動切換界面的效果
這是實現了在android實現左右滑動切換界面的效果,該效果的源碼下載,請到源碼天堂下載吧,喜歡的朋友可以研究一下。
布局文件
< xml version="1.0" encoding="utf-8" > <LinearLayout xmlns:android="; android:id="@+id/layContain" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:background="@drawable/bg" > <!-- android:background="#FFC0CB"--> <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <LinearLayout android:id="@+id/layFirst" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" android:layout_marginBottom="50dp" > </LinearLayout> <LinearLayout android:id="@+id/laySec" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> <LinearLayout android:id="@+id/layThird" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> <LinearLayout android:id="@+id/layFourth" android:layout_width="400px" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal|bottom" android:layout_marginBottom="40dp" > <TextView android:id="@+id/roll_dot1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="." android:textSize="50dp" android:textColor="#ffffff" /> <TextView android:id="@+id/roll_dot2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="." android:textSize="50dp" android:textColor="#000000" /> <TextView android:id="@+id/roll_dot3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="." android:textSize="50dp" android:textColor="#000000" /> <TextView android:id="@+id/