Android 帧动画(Frame Animation) 动画停止在第一帧
来源:互联网 发布:地球仪js 编辑:程序博客网 时间:2024/05/09 19:51
项目中遇到的问题:
需求: 做一个聊天页面,要求播放语音时,有一个类似于喇叭的动画,从小到大不停循环,语音播放完,动画停止在第一帧。当点击正在播放的语音时,语音停止,动画回复到第一帧(回复到第一帧是难点)
实现:用Frame Animation
可以在Java代码中添加每一帧的动画,也可以创建动画布局,我用的是创建动画布局。
1.创建动画布局,在drawable文件夹下创建布局imv_anim_bg.xml(名字自己定义):
<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/communicaiton_sound_self_03" android:duration="500"/> <item android:drawable="@drawable/communicaiton_sound_self_01" android:duration="500"/><item android:drawable="@drawable/communicaiton_sound_self_02" android:duration="500"/><item android:drawable="@drawable/communicaiton_sound_self_03" android:duration="500"/></animation-list>
解释一下:android:oneshot="false" false:循环播放动画, true: 只播放一次
2.在布局中添加ImageView控件,设置其背景为上述动画。
3.在java代码中实现动画的播放,停止,回复第一帧:
获得动画实例;
anim = (AnimationDrawable) imv.getBackground(); // anim 为AnimationDrawable对象,imv为ImageView对象,就是要实现动画效果的ImageView获取动画实例后就可以实现动画播放,停止等操作
动画播放:
anim.start();动画停止:
anim.stop(); // stop方法实际上只是动画的暂停方法,当调用此方法时,动画会停止到当前正在播放的那一帧,并不会停止到第一帧,当在此方法之后调用start()方法,会继续下一帧播放
动画恢复到第一帧动画:
anim.selectDrawable(0); //选择当前动画的第一帧,然后停止 anim.stop();
讨论:
动画恢复到第一帧:
在项目是现实时,刚开始用的方法是anim.setVisible(true,true); 查看文档发现,setVisible方法的第二个参数是reset,因此设置其为true,目的是实现anim的重置,此方法可用,但是在之后的测试中发现在Lenovo等手机中,系统并不支持此方法。
在之后的调查中发现上述返回第一帧的方法,目前没有发现不支持此方法的手机
0 1
- Android 帧动画(Frame Animation) 动画停止在第一帧
- Android动画-Frame Animation(帧动画)
- 帧动画,Android中的动画 --Frame Animation
- Android动画Frame Animation 帧动画
- Android 动画--帧动画(Frame Animation)
- Android 帧动画(Frame Animation)
- Android Animation 动画Demo(Frame逐帧动画)
- Android动画效果之Frame Animation(逐帧动画)
- Android动画——逐帧动画(Frame Animation)
- Android动画效果之Frame Animation(逐帧动画)
- Android动画效果之Frame Animation(逐帧动画)
- Android动画效果之Frame Animation(逐帧动画)
- Animation动画(二)---- Frame 帧动画
- Frame Animation 帧动画
- Frame Animation 帧动画
- Android-Animation动画之Frame Animation帧动画
- Android动画(View Animation之Frame Animation(逐帧动画))
- Android 动画之 ---- Drawable Animation (Frame动画,帧动画)
- 4.8Bootstrap学习js插件篇之按钮
- OTP supervisor的monitor_child是否有漏洞
- 华为编程大赛第二轮
- T-SQL入门攻略之6-T-SQL运算符与流程控制
- 脚尖华丽旋转
- Android 帧动画(Frame Animation) 动画停止在第一帧
- 高跟鞋的“始作俑者”
- windwos下安装php的memcache扩展
- VC6下非托管程序调用C#编写的动态库
- Hadoop学习之编译eclipse插件
- 刘云山:推动群众路线教育实践活动扎实深入开展
- _display 。浏览器兼容
- T-SQL入门攻略之7-常見系統函數
- OpenCV框架大局观