Android手機開機動畫的修改

工做原理android

Android的系統登陸動畫有2種:動畫

1:android自帶的動畫。spa

由前景和背景兩張PNG圖片組成,這兩張圖片存在於/system/framework /framework-res.apk文件當中,對應原文件位於/frameworks/base/core/res/assets/images/。前景圖片(android-logo-mask.png)上的Android文字部分鏤空,背景圖片(android-logo-shine.png)則是簡單的紋理。系統登陸時,前景圖片在最上層顯示,程序代碼(BootAnimation.android())控制背景圖片連續滾動,透過前景圖片文字鏤空部分滾動顯示背景紋理,從而實現動畫效果。code

2:多幀圖片輪流播放造成的動畫。
這個和放電影相似,動畫文件爲/out/target/product/dkb/system/media/bootanimation.zip 壓縮包,當目錄中沒有bootanimation.zip時,系統會自動加載android自帶的動畫。bootanimation動畫有2部分,分別是part0,part1。part0通常播放一次,part1通常循環播放,直到系統啓動完畢。
相關文件:
/frameworks/base/cmds/bootanimation/BootAnimation.h
/frameworks/base/cmds/bootanimation/BootAnimation.cpp
/frameworks/base/cmds/bootanimation/bootanimation_main.cpp
/system/core/init/init.c
/system/core/rootdir/init.rc

製做步驟:圖片

     1:製做自帶的動畫:將/frameworks/base/core/res/assets/images/目錄下的android-logo-mask.png和android-logo-shine.png,直接用2張相同分辨率的PNG-24圖片替換就能夠了,圖片的名字要保持不變。而後從新編譯打包便可。ip

     2製做多幀圖片動畫:get

a:新建bootanimation文件夾,在bootanimation裏面再新建2個目錄part0,part1,和一個文本文件desc.txt 。cmd

b:製做動畫圖片幀。用photoshop將導出的png圖片保存爲png-24格式,圖片的名字要按順序命名(例如:1.png,2.png,3.png……). 最後將動做連續的圖片放到part0,和part1中。 part0,part1中固然能夠放2組不一樣的動畫圖片。
 

c:desc.txt:這是一個保存形式爲ANSI格式,用於設置這個動畫像素(大小),幀數,閃爍次數,文件夾名稱等;,通常格式以下:animation

   480  800  25      //表示圖片以480*800 的分辨率進行播放,每秒播放25張圖片it

   p  1  0  part0    //p爲標誌符,意爲將part0裏面的圖片順序播放1次,間隔時間爲0幀

   p  0  2  part1    //表示將part1裏面的圖片播放0次(也就是循環播放),直到系統啓動完畢。兩次循環之間間隔2幀圖片的時間。

其實只要一個part 也是能夠的。

d:進入bootanimation 目錄,將part0,part1,desc.txt 打包成bootanimation.zip 而後將此文件放在/out/target/product/sdkdemo/system/media/ 目錄下便可。

 

Windows :打包成zip格式的壓縮包,壓縮方式要選存儲,否則沒法正常播放

Linux下打包的命令以下:

    #zip  -O –r  ../bootanimation.zip   ./*

  Linux 指令必須使用 –O ,表示壓縮等級爲最低等級stored,即只打包不壓縮,不然會因爲打包格式的問題致使動畫顯示異常。

相關文章
相關標籤/搜索