nihao200823 发表于 2017-1-12 10:55

android开机动画制作

本帖最后由 nihao200823 于 2017-1-12 20:38 编辑

android开机动画制作与播放原理简介
   谁都想拥有一个华丽漂亮的开机动画,这让人心情舒畅,android是怎么来实现的?怎么制作一个自己的开机动画?这里揭开android开机动画的神秘面纱。

1、制作开关机动画

1.1 开机动画的位置

   system/media/bootanimation.zip,要修改开机动画就是修改bootanimation这个压缩文件。如果不存在该压缩包,使用原生自带的资源,其路径在system/framework/framework-res.apk/assets/images
(android-logo-mask.png,android-logo-shine.png),但是比较难看,比较常见的就是“android”。所以要定制自己的开关机动画一般都是在system/media/目录下放置bootanimation.zip和shutanimation.zip.这里以开机动画为例,关机动画和开机动画其原理一样。

更多内容......

http://wenku.baidu.com/link?url=gNQkdlCUcZ5WHOpJD4eEAkasT3LeqICFAAKkrjO7uKr3Emf6bqUEAZVfL49ox6lZevAvkgEPplc1vrMiU-0KTkmZMbnIRBc6mfIozWSCi97



资料之二
在Android中的开机动画有两种,一种是默认的Android文字显示,还有一种是自定义的动画。其主要实现的代码在\frameworks\base\cmds\bootanimation中。这里主要说明添加自定义的开机动画的方法:添加自定义开机动画就是把要显示的动画的图片打包成bootanimation.zip文件。然后放到手机的“/data/local/”或“/system/media/”目录下。开机时,系统会检查这两个目录下有没bootanimation.zip文件,如果没有,则用默认的Android开机动画。bootanimation.zip文件打包前的结构为:desc.txt         动画属性描述文件part0                           第一阶段动画图片的目录 (动画是由一帧帧图片组成的)part1                           第二阶段动画图片的目录bootanimation.zip文件是直接由这几个文件打包的,打包的格式是ZIP,并且要指定用压缩打包方式(就是在打包时的压缩方式选择为存储)。desc.txt文件的格式为:480 250 15p 1 0 part0p 0 10 part1其中各个参数的意义为:480                     250                           15图片的宽         图片的高         每秒显示的帧数p                        1                                 0                                 part0标识符            循环的次数阶段切换间隔时间 对应图片的目录 p                     0                                 10                               part1标识符            循环的次数阶段切换间隔时间 对应图片的目录标识符:p 是必须的。循环次数:指该目录中图片循环显示的次数,0表示本阶段无限循环。每秒显示的帧数:就是每秒显示的图片数量,决定每张图片显示的时间。阶段切换间隔时间:指的是该阶段结束后间隔多长时间显示下一阶段的图片,其单位是每张图片显示的时间。对应图片的目录:就是该阶段动画的系列图片,以图片文件目录的顺序显示动画,而且图片的格式必须要为PNG。
资料三安卓自定义的开机动画文件为bootanimation.zip在放在\system\media下,替换这个后就可以有自己个性的开机画面,其实制作bootanimation.zip很简单,也不需要什么PS功底不需要也不需要任何图片制作功底,当然有最好可以自己制作属于自己专属的。bootanimation.zip文件介绍与构成:开机动画文件名称:bootanimation.zip安卓Android的动画是由一系列的连续PNG图片作为帧组成的动画形式。不是合成为一张GIF图片,而是一个文件包,将各帧PNG图片以压缩方式保存。这个保存的文件名就是bootanimation.zip,这个文件是zip压缩文件,压缩方式要求是存储压缩,一般包含一个文件和两个目录:1.动画属性描述文件:desc.txt--------这是一个保存形式为ANSI格式,用于设置这个动画像素(大小),帧数,闪烁次数,文件夹名称等;2.第一阶段动画图片目录:part1-------存放每帧PNG图片文件夹;3.第二阶段动画图片目录:part2--------存放每帧PNG图片文件夹;desc.txt文件设置解析:我们打开这个文件夹,可以看到这样的格式:480 150 24 -----------------这里的480代表图片的像素(大小)宽度,800代表图片的像素(大小)高度,30代表帧数,也就是图片一共多少张; p 1 0 part1 -----------------这里的p代表标志符,1代表循环次数为1次,0代表阶段间隔时间为0,part1代表对应的文件夹名;p 0 0 part2 -----------------这里的p代表标志符,0代表循环次数为0次,10代表阶段间隔时间为10,part2代表对应的文件名;标志符:必须是: p循环次数:0 : 表示本阶段无限循环阶段切换间隔时间:单位是一个帧的持续时间,比如帧数是30,那么帧的持续时间就是1秒/30 = 33.3毫秒。阶段切换间隔时间期间开机动画进程进入休眠,把CPU时间让给初始化系统使用。也就是间隔长启动会快,但会影响动画效果。 part0和part1文件夹内包含的是两个动画的系列图片,图片为PNG格式。系列图片文件的加载刷新按文件名的名称排序。值得注意desc.txt力的数字是写图片的大小,而不是你手机大小,要不开机动画就会跑偏了。如果你不会制作图片那么你可以先找2个动态图片来,把这2个动态图片分解出每一帧的图片,并保存为PNG格式,记得2个图片要一样大哦,然后吧图片按照bootanimation.zip的构造放进不同的文件夹,然后就可以制作出开机动画bootanimation.zip。如果你要自己做的话那么看下面教程:Fireworks为例,新建一张合适大小的图片,然后到网上找个你觉得做开机动画的图片,插入到新建的图片里,增加帧数,使用第一帧复制到其他帧去,然后再每一帧进行制作,其实跟制作动态图片是一样的,制作好后你可以预览效果,觉得可以了就开始分解,不行的话继续调整。然后再新建图片跟之前新建的大小一样,有多少帧就新建多少个,把每一帧里的图片全选,记得是全选后按顺序复制到新建的图片里,最后就是另存为PNG,这个也要按顺序给图片写上编号。然后依照这个方法再制造一个part1,就可以打包制作开机动画bootanimation.zip了。
资料四图文教程
http://jingyan.baidu.com/article/6c67b1d6f14fc92787bb1e1a.html

资料五 并非原创,对应盒子需要修改动画图片分辨率。



玛丽苏 发表于 2017-1-12 11:08

这个厉害哦 涨知识了    感谢楼主的分享!{xiaolu13}{xiaolu13}

nanfeng188782 发表于 2017-1-12 11:33

学习学习!

xia8180418 发表于 2017-4-17 23:29

强烈支持楼主ing……

285574879 发表于 2017-5-18 09:09

强烈支持楼主ing……

jiang99jp 发表于 2021-1-28 14:38

66666666666666

希米科技 发表于 2022-11-23 16:48

这个厉害哦 涨知识了    感谢楼主的分享!

guoguangd 发表于 2022-12-18 10:48

开机动画只更换图片就可以了

guoguangd 发表于 2022-12-18 10:57

高人啊

wyzabc110 发表于 2023-3-27 09:35

华为万物互联启动动画
页: [1]
查看完整版本: android开机动画制作