Android启动动画bootanimation

Android的启动动画,不是gif,而是由N个png图片、和动画配置文件组成,跟帧动画一样

一、准备工作

  • png帧动画图片
  • zip压缩软件
  • 预览工具

二、制作

启动动画路径: /system/media/bootanimation.zip
文件构成:

  • decs.txt:配置文件,主要包括动画分辨率、每秒帧数、循环次数、动画路径等
  • part0:第1组动画所在的文件夹。里面的文件一般按序号来命名,eg:0001.png、0002.png
  • part1:第2组动画所在的文件夹

一般part0是播放一次启动动画,part1播放循环加载动画

2.1 desc.txt 配置文件格式

第一行

WIDTH HEIGHT FPS
  • WIDTH:图片宽度(px)
  • HEIGHT:图片高度(px)
  • FPS:每秒帧数

第二行开始:

TYPE COUNT PAUSE PATH
  • TYPE:动画类型,
    • p:如果系统启动完毕,会中断播放。默认
    • c:一直播放完毕,无论系统有没启动完毕
  • COUNT:播放次数,0-无限循环
  • PAUSE:本组播放完毕后,停留的帧数。
  • PATH:动画图片所在的文件夹,eg:part0、part1

示例:

480 480 30
p 1 10 part0 
p 0 10 part1

表示:动画分辨率为480*480,每秒播放30帧;第一组播放1次,播放完毕后停留10帧;第二组一直循环播放。最后需要一个空行,否则最后一组不运行

2.2 生成zip
  • Windows:使用压缩软件即可,其中压缩方式,选“存储”
  • Mac:zip -0qry -i \*.txt \*.png \*.wav @ ../bootanimation.zip *.txt part*

三、预览

最好的预览方式,当然是直接放到要修改的Android设备里中去。

如果没有设备,只能想其它方式:

3.1 root设备

有root过的设备,可以在设备上预览(记得先备份原动画),基本命令

adb root
adb remount
adb push bootanimation.zip /system/media/
# 直接预览动画。重启阅览也行:adb reboot
adb shell bootanimation
3.2 软件

Windows:BootAnimationPreview(下载
Mac:暂未找到

四、优化

如果生成的动画很慢,在30fps以上的播放速度都是一样。那可以尝试以下优化:

mac使用imagemagick,可以使用brew安装,然后使用sh批量处理:

#!/bin/sh
for file in ./part1/*.png
do
  convert "$file" "${file%.png}.jpg"
done

执行$ bash ./png2jpg.sh
我的经过两种方式优化后,zip从13M变成了1.3M,运行效果基本达到理想(不理想的是:第二组动画,第一次播放偏慢,第二次之后才正常)

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值