Android 帧动画何时停止播放
当动画开始start之后,我们可以通过检测是否到达帧动画的最后一帧,来确定动画是否播完.这种方式可以保证动画播完.
android怎么给桌面图标添加动画
可以给桌面上的图标添加动画,因为图标也是view,可以设置动画.比如某些桌面上的新安装的应用的图标会不停的闪动,那就是一个动画..
如何在Android中播放gif格式动画?
主要考虑了两种实现方式:
①.、Android里自行解码实现;
②.、通过webview借助html5来实现
WebView中可以实现gif的播放,但是效率上不太好,另外还有缩放等等问题,没有采用.
Android里开源库比较好的就是GifView了
但是感觉还是有一些不足的地方,就是每个GifView都需要开启一个线程,界面上gif比较多时,卡顿比较严重.所以就作了一些改动,最后的实现借鉴了通常游戏里动画的做法,通过一个线程控制所有GifView的重绘操作,在onDraw时再计算需要渲染哪一祯,感觉效率还是比较高的,至少是一种思路.
Animatable.java
AnimationThread.java
改动后的GifView.java,主要是修改了onDraw方法,添加了Animatable实现.onMeasure中加入了一些代码处理缩放的问题.
需要注意的是AnimatableImpl的实现是不得已,原来是GifView直接实现Animatable接口,但是在④1以上跟View的方法有冲突,所以采用了内部类的实现方式,避免冲突.
感谢SearchSunny的提醒PlayMode相关的代码,确实是我的疏忽.加入PlayMode是提供播放的选项,循环播放还是播放一次.
下面补充所有类的代码.
PlayMode.java
GifAction.java
GifDecoder.java
GifFrame.java
Android的动画四种类型中alpha的参数含义
alpha是透明度渐变的动画效果
透明度的取值范围是0-1之间
0表示完全透明,1表示完全不透明
android:fromAlpha="①0" //这是表示动画一开始是完全不透明
android:toAlpha="0.0"//这是表示动画结果时是完全透明
android:duration="500"//这是动画的时间