Android自定義開機和關機動畫

Android自定義開機和關機動畫

Android在開機的過程當中,會經歷三張圖片,關於靜態圖的修改在個人這篇文章中有介紹到:html

        Android開機圖片替換動畫

        

        如今要介紹的是怎麼用動畫替換靜態圖片。開/關機的動畫其實就像幀動畫同樣,快速播放多張圖片造成的,在開/關機動畫中要將這些圖片打包進一個zip中,再進行適當的配置,就能夠實現動畫播放。ui

 

1、開/關機動畫zip文件路徑

在源碼中找到這個文件:frameworks/base/cmds/bootanimation/BootAnimation.cppspa

其中有這些定義:這些宏定義就是開/關機過程當中動畫文件的位置,看名字應該就知道,bootanimation.zip是開機動畫,shutanimation .zip是關機動畫code

        #define OEM_BOOTANIMATION_FILE "/oem/media/bootanimation.zip"
        #define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip"
        #define CUSTOM_BOOTANIMATION_FILE "/custom/media/bootanimation.zip"
        #define USER_BOOTANIMATION_FILE   "/data/local/bootanimation.zip"
        #define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE "/system/media/bootanimation-encrypted.zip"
        #define EXIT_PROP_NAME "service.bootanim.exit"

        #define SYSTEM_SHUTANIMATION_FILE "/system/media/shutanimation.zip"
        #define CUSTOM_SHUTANIMATION_FILE "/custom/media/shutanimation.zip"
        #define USER_SHUTANIMATION_FILE   "/data/local/shutanimation.zip"

 

2、開機動畫


    一、新建目錄part0,將須要顯示的jpg拷貝進去。htm


    二、新建目錄part1,將須要顯示的jpg拷貝進去。blog


    *** ***能夠根據需求添加文件夾個數圖片


    三、新建空文本文件desc.txt,內容以下:

        1080 1920 15ip

        p   1   2 part0get

        p   0   2 part1

 

        1080 1920 12 (1080,1920是分辨率,12是幀數)

        p 1 2 part0(p是標識符,1表明該文件夾循環1次,2表明兩次循環之間間隔2張圖片的時間(例:2/15秒),part0表明要顯示的文件夾)

        p 0 2 part1(p是標識符,0表明無限循環,2表明兩次循環之間間隔2張圖片的時間(例:2/15秒),part1表明要顯示的文件夾)

        若是配置有更多的文件夾,則按照以上兩個的例子添加配置便可 


    四、將這三個文件以存儲方式打包成bootanimation.zip(注意:必定要以「存儲」的模式打包,壓縮時默認是「標準」必須改成「存儲」,非存儲方式沒法識別)。

        存儲在對應目錄下。例:

        /system/media/bootanimation.zip

    五、在該文件中添加(不必定必須在embedded.mk中,其它文件也能夠,只要能夠確保添加的PRODUCT_COPY_FILES能被執行到):

        /build/target/product/embedded.mk

        前邊是源碼中文件位置,後邊是複製到out後文件位置

        PRODUCT_COPY_FILES += \

                system/media/bootanimation.zip:system/media/bootanimation.zip

 

3、關機動畫


    一、新建目錄part1,將須要顯示的jpg拷貝進去。

    二、新建目錄part2,放入最後一張jpg

    三、新建空文本文件desc.txt,內容以下:

        1080 1920 9

        p   1   2 part1

        p   0   2 part2

       

        1080 1920 9 (1080,1920是分辨率,9是幀數)

        p 1 2 part1(p是標識符,1表明該文件夾循環1次,2表明兩次循環之間間隔2張圖片的時間(例:2/9秒),part1表明要顯示的文件夾);

        p 0 2 part2(p是標識符,0表明無限循環,2表明兩次循環之間間隔2張圖片的時間(例:2/9秒),part2表明要顯示的文件夾)。

    四、將這三個文件以存儲方式打包成shutanimation.zip(注意:必定要以「存儲」的模式打包,壓縮時默認是「標準」必須改成「存儲」,非存儲方式沒法識別)。

        存儲在對應目錄下。例:

        /system/media/shutanimation.zip

    五、在該文件中添加(不必定必須在embedded.mk中,其它文件也能夠,只要能夠確保添加的PRODUCT_COPY_FILES能被執行到):

        /build/target/product/embedded.mk

        前邊是源碼中文件位置,後邊是複製到out後文件位置

        PRODUCT_COPY_FILES += \

                system/media/shutanimation.zip:system/media/shutanimation.zipp

 

而後從新編譯源碼,刷機便可

相關文章
相關標籤/搜索