自定义android开机动画
来源:互联网 发布:js 获取远程json对象 编辑:程序博客网 时间:2024/05/01 17:48
android开机动画显示原理:
开机时,系统自动检测在/system/media/目录或/data/local/目录有没有bootanimation.zip文件。如果有,这按照bootanimation.zip里面的png排列顺序依次显示开机图片,开起来就是动画效果;否则按照android默认的方式显示开机动画。
android开机动画叫源码位于frameworks/base/cmds/bootanimation下,这个程序编译后生成/syetem/bin/bootanimation,将/data/local/bootanimation.zip或/system/media/bootanimation.zip里面的png图片以动画的形式播放出来。
先来分析一下源码:
frameworks/base/cmds/bootanimation/BootAnimation.cpp
首先看一下定义的常量:
#define USER_BOOTANIMATION_FILE "/data/local/bootanimation.zip"#define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip"#define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE "/system/media/bootanimation-encrypted.zip"
BootAnimation::readyToRun()
进入一个if判断语句
if ((encryptedAnimation && (access(SYSTEM_ENCRYPTED_BOOTANIMATION_FILE, R_OK) == 0) && (mZip.open(SYSTEM_ENCRYPTED_BOOTANIMATION_FILE) == NO_ERROR)) || ((access(USER_BOOTANIMATION_FILE, R_OK) == 0) && (mZip.open(USER_BOOTANIMATION_FILE) == NO_ERROR)) || ((access(SYSTEM_BOOTANIMATION_FILE, R_OK) == 0) && (mZip.open(SYSTEM_BOOTANIMATION_FILE) == NO_ERROR))) { mAndroidAnimation = false; }
BootAnimation::threadLoop()
if (mAndroidAnimation) {r = Android(); // 执行android字体闪动的图片} else {r = movie(); // 执行bootanimation.zip中提供的动画图片}
我们下载的源码里默认是没有那些个.zip动画的,所以总会跳到android字体闪动的画面。
知道原理之后,自定义开机画面就简单了,我们直接在/system/media/目录或是在/data/local/目录加上bootanimation.zip文件就可以了。
bootanimation.zip文件由下面几个文件目录组成:
desc.txt 动画属性描述文件
part0 第一阶段动画图片的目录 (动画是由一帧帧图片组成的)
part1 第二阶段动画图片的目录
...
partn
一般来说就两个文件夹part0、part1,两个文件夹里面放着编号号的png图片。
desc.txt文件内容格式如下:
320 480 5
p 1 0 part0
p 0 0 part1
解释下:
320为图片的宽,480为图片的高,后面的那个5表示帧数,即每秒播放的图片张数。
p为描述符,后面的1表示播放一次,后面的0表示阶段切换时间,part0表示png资源路径。
p为描述符,后面的0表示本阶段无限循环(直到开机结束),再后面的0表示本阶段切换时间,part1表示路径。
自己生成bootanimation.zip时,只要编辑好desc文档,再把相应的png图片资源放到各自的文件夹即可,准备好这些直接压缩生成bootanimation.zip文件(注意不要压缩文件,直接选择存储方式压缩,要不然不能正确获取到png图片,开机时会一直黑屏),然后把.zip文件用adb push到/system/media或是/data/local目录,重启,这是应该就会显示自定义的开机动画了。
- 自定义android开机动画
- android自定义开机动画
- 自定义android开机动画
- 原始 & 自定义android开机动画
- android自定义开机动画文件存放位置
- Android自定义开机和关机动画
- win7开机动画自定义
- [Android]添加自定义开机动画(视频)并去黑屏
- android系统开机画面log和动画的自定义
- [Android]添加自定义开机动画(视频)并去黑屏
- [Android]添加自定义开机动画(视频)并去黑屏
- android 开机logo 开机动画
- 自定义开关机动画,开机logo
- Android 开机动画
- Android 开机动画
- android 开机动画
- android 开机动画
- android开机动画
- webservice 调用报错 400
- CSDN问答频道上线测试,欢迎大家一起参与
- 使用Visual Leak Detector检测内存泄漏
- 输出随机数
- Android-WebView根据设配分辨率调整大小
- 自定义android开机动画
- 分布式搜索Elasticsearch——概述
- PHP实现的SMTP发送邮件
- Android中Socket通讯类【Json】
- 高性能数据库实践经验
- c++基础3:关于前置++和后置++的那么点纠结
- CSS spirit /css精灵
- MyEclipse不能自动编译解决方法(转载)
- IE内核的浏览器在使用UTF-8编码的页面进行传值的时候出现乱码错误