六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 75|回复: 0

android定制化开关机动画、铃音

[复制链接]

升级  4.45%

359

主题

359

主题

359

主题

探花

Rank: 6Rank: 6

积分
1089
 楼主| 发表于 2012-12-19 23:18:28 | 显示全部楼层 |阅读模式
android定制化开关机动画、铃音

<div class="postbody"><div id="cnblogs_post_body">原文:http://www.eoeandroid.com/thread-228083-1-1.html
不错的帖子:
滑动菜单(双层类path)+下拉刷新
http://www.eoeandroid.com/thread-228627-1-1.html
仿Iphone的camera 叶片的旋转,帮忙 让他跑的更流畅些
http://www.eoeandroid.com/thread-228756-1-1.html
[ApiDemos分析与讲解]App-Activity-PersistentState
http://www.eoeandroid.com/thread-228342-1-1.html
-------------------帖子正文----------------------
系统通常默认支持开机动画,开机关机铃声服务倒是预先定义了,不过使用时需要在/sysytem/media/下添加相应的音频文件。长按Power键弹出关键选项,关机时也只是显示进度条,而不是我们期望的关机动画同时伴有关机铃声,当然在做二次开发的时候,这些都是可以定制的。下面将逐步分析如何实现这些定制化的需求。
一.  
  
制作开机动画

开机画面是保存在/system/media的bootanimation.zip,下面分析系统开机画面的构成
文件名为bootanimation.zip
一定是这个不能修改,里面包含part1 part2文件夹 和desc.txt,part 文件夹里面放的是动画拆分的图片,格式为png,
desc.txt里面是播放的设置。
格式是这样的

480 800 15
p 1 0 part0
p 0 0
part1
480 800是指显示的分辨率宽 高
15是一秒的帧数
p后面的数字是指播放次数
0为循环,N为播放N次
后面那位数字一般为0(空指令), 表示播放一遍后稍作停顿的时间
part0,part1
为文件夹名
一般我们只使用part0目录

图片准备好了,desc.txt里面的命令也准备好了,就可以把他们一起打包压缩成zip格式了。记住,是zip格式,而不是rar格式。另外压缩的时候注意一点,压缩的时候压缩方式要选择存储,否则开机时手机会不认的。当然不至于变砖,只是开机的时候会黑着没动画一直到进入桌面为止。

开机动画的替换也很简单,我们把做好的bootanimation.zip替换掉原来的/system/media/bootanimation.zip文件即可。关机动画其实和开机动画的制作一样,我们命名为shutdownanimation.zip,和bootanimation.zip放在同一目录下。
二. 开关机动画实现原理

Android系统在init.rc中定义了很多Servic,具体定义格式可以参考《Android Platform
Developer’s Guide》中的“Android Init
Language”。Init.rc中定义的Service将会被Init进程创建,其中已经定义的服务就包含了开机动画,但没有关机动画的定义
<div class="cnblogs_code">service bootsound /system/bin/mplayer /system/media/bootsound    user media    group audio    oneshot//开机铃声服务 /system/media/startupsound是铃声文件service startupsound /system/bin/mplayer /system/media/startupsound    user media    group audio    disabled    oneshot//关机铃声服务 /system/media/shutdownsound是关机铃声service shutdownsound /system/bin/mplayer /system/media/shutdownsound    user media    group audio    disabled    oneshot//定义了一个bootanim的服务,对应执行/system/bin/bootanimation//disabled 表示init进程创建只是创建它,但不立刻执行//oneshot 表示该服务只执行一次service bootanim /system/bin/bootanimation    user graphics    group graphics    disabledoneshot
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表