在 Android 系统开发中,有的同学需要修改或更换 Android 系统的开机动画,今天浅介绍一下 Android 系统开机动画。
1、开机动画
开机动画一般叫这个名字:bootanimation.zip
文件是一个压缩包文件,里面包含几个文件。其中文件夹存放一帧一帧的开机动画的图片,按照顺序进行排列(具体图片格式不讨论,找 UI 工程师提供即可),一般不需要开发工程师处理这个图片,就算全栈开发也不能干这事吧(doge);另一个文本文件则是定义该动画的规格参数。
修改开机动画只需替换 Android 系统对应位置的文件然后重启即可。具体位置不是本文的主要讨论点,先跳过,后续有需要再补充。
2、开机动画规格
解压 bootanimation.zip 文件,可以看到里面的文件是这样的,如图 2-1 所示,包括一个文本文件、还有几个文件夹:
下面进行一一拆解文件分析:
1、part0
开机动画播放的第一部分。
一般情况,此文件夹里面存放的是开机动画的部分,也就是一帧一帧的动画图片。
最少保留一个文件夹,不可删除。此文件夹名称一般不修改(能不能修改名称可以自己尝试一下)。
2、part1
开机动画播放的第二部分。此文件夹可删除,可仅保留 part0 文件夹。
一般情况,此文件夹里放置 LOGO 图片文件。
可设置在 part0 播放完毕后,就一直循环播放 part1,也就是 LOGO 图片,直到开机完成,结束开机动画。
3、desc.txt
开机动画播放规格设置部分,名称不可修改。里面定义了开机动画的分辨率、帧率和每个部分的播放参数设置,如图 2-2 所示:
desc.txt 文件格式说明如下:
- c:强制播放完动画:不管系统开机是否结束,只要开机动画没有走完,则必须等到动画结束才能进入系统。
- p:开机完成断动画:不管开机动画是否结束,只要系统开机完成了,就立马中断开机动画,随后进入系统。
- 分辨率一般看 Android 设备的分辨率自行进行选择,可选:3840x2160、1920x1080 等。
横向分辨率 纵向分辨率 每秒帧数
c : 强制播放完动画
p : 开机完成断动画
1 0 : 执行一次
0 0 : 循环播放
For example:别忘记了空格哦
3840 2160 25
c 1 0 part0
p 0 0 part1
以上例子表示:以 3840x2160 的分辨率,25 帧的帧率运行开机动画,其中 part0 部分播放一次,且强制播放完毕才能结束开机动画;part0 部分播放完成后,如果系统还没完成开机,则继续播放 part1 部分,且一直循环播放,直到开机完成,随后结束开机动画,进入系统。
3、开机动画压缩
压缩开机动画时,需要注意,压缩等级选择【仅存储】,如图 3-1 所示:
提醒注意:压缩后的文件,打开后里面只能包含如图 2-1 所示的文件内容,新手很容易会把图 2-1 的文件包在名为 bootanimation 的文件夹里,然后压缩整个 bootanimation 文件夹生成一个动画压缩包,这样压缩的开机动画,是不能正常运行的!
4、开机动画注意事项
开机动画会受 Andriod 系统的设备性能影响,要根据性能选择合适的动画分辨率、图片分辨率和动画帧率。不可盲目选择最佳观感(观感效果全部拉满),因为这样可能会导致动画特别卡顿,结果会适得其反,大大降低了动画的观感。
希望对各位有用~ 不妨点小赞!❤️❤️❤️