Android加载Gif动画

Android加载Gif动画,第1张

最近项目开发中需要实现播放gif动画的效果,UI设计图如下

在点击中间话筒的时候播放动画,提示用户正在录音。

尝试过将gif转化成50张图片,一帧一帧播放图片,设置android:duration 播放下一张图片的间隔时间,但是效果不理想,下面讲下自己的实现方式(直接播放gif):

GifDrawable gifFromAssets = new GifDrawable(getAssets(), "animation.gif")

clAnim.setImageDrawable(gifFromAssets)

clAnim.setScaleType(ImageView.ScaleType.CENTER_CROP)

if (gifFromAssets.isRunning()){

    gifFromAssets.stop()

}

gifFromAssets.start()

1.替换首屏LOGO

找到 logo分区 dd复制出来

LOGO 分区是一个 [头+JFIF]图像组合的图片

先提取头我这个设备是偏移 0x2000 保存

然后制作一张图片 转成JFIF格式 把刚才的头与这个进行合成 另外把多余的空白字节补上,就是总大小一致。

2.制作开机动画 文件位置/system/media/bootanimation.zip

ZIP文件直接解压

desc.txt

320 480 10

p 1 0 part0

p 0 0 part1

320 480是指显示的分辨率 宽 高

10是一秒的帧数

p后面的数字是指播放次数 0为循环

后面那位数字 一般为0

part0 为文件夹名

为什么要用两个文件夹呢? 一般 :

part1是播放一遍的

part2是循环播放直到开机

打包:

打包的时候一定不要压缩文件(压缩比为0)。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11633991.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存