博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android手机开机动画的修改
阅读量:7013 次
发布时间:2019-06-28

本文共 1700 字,大约阅读时间需要 5 分钟。

hot3.png

工作原理

Android的系统登录动画有2种:

1:android自带的动画。

由前景和背景两张PNG图片组成,这两张图片存在于/system/framework /framework-res.apk文件当中,对应原文件位于/frameworks/base/core/res/assets/images/。前景图片(android-logo-mask.png)上的Android文字部分镂空,背景图片(android-logo-shine.png)则是简单的纹理。系统登录时,前景图片在最上层显示,程序代码(BootAnimation.android())控制背景图片连续滚动,透过前景图片文字镂空部分滚动显示背景纹理,从而实现动画效果。

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图片替换就可以了,图片的名字要保持不变。然后重新编译打包即可。

     2制作多帧图片动画:

a:新建bootanimation文件夹,在bootanimation里面再新建2个目录part0,part1,和一个文本文件desc.txt 。

b:制作动画图片帧。用photoshop将导出的png图片保存为png-24格式,图片的名字要按顺序命名(例如:1.png,2.png,3.png……). 最后将动作连续的图片放到part0,和part1中。 part0,part1中当然可以放2组不同的动画图片。
 

c:desc.txt:这是一个保存形式为ANSI格式,用于设置这个动画像素(大小),帧数,闪烁次数,文件夹名称等;,一般格式如下:

   480  800  25      //表示图片以480*800 的分辨率进行播放,每秒播放25张图片

   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,即只打包不压缩,否则会由于打包格式的问题导致动画显示异常。

转载于:https://my.oschina.net/u/2424973/blog/485282

你可能感兴趣的文章
MySQL中PreparedStatement sql中in的引号问题
查看>>
趣事:据说只有程序员才能看懂的笑话,祝新的一周愉快!
查看>>
Python3 迭代器与生成器
查看>>
云计算成增收引擎,营收创上市以来新高
查看>>
PHP 常用的header头部定义汇总
查看>>
Java heap space 解决方法
查看>>
通过注册表开通关闭局域网共享
查看>>
Asp.net 导入导出Excel
查看>>
Oracle 10.2.0.4(5)EM不能启动的解决方案
查看>>
AngularJS—— 独立作用域
查看>>
Web开发(初级)- CSS基础
查看>>
linux命令行编辑快捷键
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
(转)IntelliJ IDEA 使用JSTL标签库(IDEA 加载 tld文件)
查看>>
AndroidStudio开发工具快捷键整理分享
查看>>
Perl常用的预定义变量
查看>>
C++引用的学习
查看>>
4-通过java调用libsvm
查看>>
萨班斯-奥克斯利法案 (SOX) 特权账号管理
查看>>