android平台圖形系統啟動後,出現含閃動的android字樣的動畫,
首先,我們先來分析一下原始碼:
frameworks/base/cmds/bootanimation/bootanimation.cpp
首先看一下定義的常量:
#define user_bootanimation_file
"/data/local/bootanimation.zip
"
#define system_bootanimation_file
"/system/media/bootanimation.zip
"
#define system_encrypted_bootanimation_file
"/system/media/bootanimation-encrypted.zip"
bootanimation::readytorun()
進入乙個if判斷語句
if( (encryptedanimation
&&(access(system_encrypted_bootanimation_file, r_ok) ==0
)&&(mzip.open(system_encrypted_bootanimation_file)
==no_error)) ||
((access(user_bootanimation_file, r_ok) ==0
)&&(mzip.open(user_bootanimation_file)
==no_error)) ||
((access(system_bootanimation_file, r_ok) ==0
)&&(mzip.open(system_bootanimation_file)
==no_error)) )
bool bootanimation::threadloop()
bool r;
if(mandroidanimation)
else
==>bootanimation::android()會載入"images/android-logo-mask.png"和"images/android-logo-shine.png"
==> bootanimation::movie()會載入bootanimation.zip中的內容
所以如果你想用.zip的動畫,那麼把你做好的動畫拷貝到編譯好對應的目錄下即可,然後執行make snod整合進img包就可以看到效果了
如果你想修改android閃動的那兩張的話,最簡單的方法是直接替換,如果你懂opengl的話也可以自己做酷炫的動畫
那兩張放在./frameworks/base/core/res/assets/images 目錄下,一張鏤空的android圖,一張發光效果,動畫效果就是下面那張發光的效果圖不斷左右移動。
我是用photoshop直接修改的
修改完後直接替換,然後再 mmm frameworks/base , make snod 即可
以下是我修改後的效果圖:
而bootanimation.zip中內容格式為
bootanimation.zip
|-- desc.txt
|-- part
其中desc.txt為描述檔案
根據這個語法,我們也可以自定義各種動畫形式,例如下面所示:
480 288 15
製作bootanimation.zip注意:
首先從裡面的說起可以是png格式也可以是jpg格式,建議找到的要和自己機子的解析度一樣,如果不是也可以的 有可能變形 注意的大小要統一(如果不會做連線的組 直接找個適合自己解析度的動態分解出png格式的靜態,用imageready可以批量匯出)
建立part1 part2或android資料夾 放進一組連線的組
開始壓縮成zip格式 名字一定要bootanimation.zip 壓縮方式一定是儲存 壓縮完了看下大小一般最大的2mb左右 太大了用jpeg imager壓縮下 壓縮很好的
然後part0,part1目錄下內容結構為
|-- desc.txt
|-- part0
| `-- bootanim_static_0000.png
`-- part1
|-- bootanim_0000.png
|-- bootanim_0001.png
|-- bootanim_0002.png
|-- bootanim_0003.png
|-- bootanim_0004.png
|-- bootanim_0005.png
|-- bootanim_0006.png
`-- bootanim_0007.png
最後我們來壓縮
對於windows的壓縮方法為:
使用winrar,選擇zip格式,壓縮標準要選「儲存」。
***************===
以下講解 bootanimation.zip這個檔案的結構。bootanimation裡面主要包含乙個desc.txt以及n個資料夾。而資料夾裡面放著的就是你要的開機動畫的。decs.txt的作用就是指導系統如何去執行你的開機畫面。
要注意一下,bootanimation不能太大,大了會卡,一般不要超過3m。
Android應用啟動動畫例項
顯示歡迎介面並跳轉到主介面 首先,建立乙個動畫layout startmain.xml 然後在oncreate中顯示動畫view final view view view.inflate this,r.layout.startmain,null setcontentview view 建立動畫型別及...
修改Android預設啟動項launcher
方案一 根據操作流程分析code flow,兩者互相糅合,理清問題的關鍵。public void onbuttonclick view v catch exception e catch exception e else if count 1 else catch remoteexception e...
Android定製 修改開機啟動畫面
android系統在按下開機鍵之後就會進入啟動流程,這個過程本身需要一些時間,而面向使用者的往往是廠商定製的一些宣傳用的比較絢麗的啟動畫面。我們在定製自己的系統時,往往需要把這些畫面換成我們自己的,一方面可以新增自己的logo增加品牌 度,另外也可以新增一些特效讓使用者嚐嚐鮮。原始碼 非官方andr...