android动画实现一张图自动旋转、可随时暂停、停止和重置,类似秒表指针旋转动画
来源:互联网 发布:mdict for mac 编辑:程序博客网 时间:2024/09/21 06:17
项目需求:点击开始按钮,图片开始旋转,点击暂停,旋转暂停,位置不变,点击继续,图片从暂停的位置继续旋转,点击停止,图片位置重置;类似于秒表指针的旋转动画;
前言:一开始走了很多弯路,做出来的效果很差,后来查找资料找到了这样一个简单有效的方法,在此分享一下!
此方法的局限性:
1.对API有要求,必须要 API >= 19,如遇到红色波浪线报 API 的错误,可在方法前加上这句话: @TargetApi(Build.VERSION_CODES.KITKAT)
2.本例中设置的60秒转360度应该是很准确才对,但是不知道为啥,转一整圈只需要59秒,有时候不到59秒,很奇怪,可能是对动画属性值的设置哈没完全弄懂,如果有懂的朋友可以留言告诉我,不胜感激!
准备好图片资源,写好布局和点击事件之后,接下来就是实现动画:
1.定义成员变量,本例使用的是 ObjectAnimator;
private ObjectAnimator mCircleAnimator;private ImageView mDynamicCircle;
2.初始化,对于旋转的角度、旋转周期、旋转动画的插值器等属性大家可以自己 DIY,在此就不赘述了;
mDynamicCircle = (ImageView) findViewById(R.id.record_wav_main_dynamic_circle);mCircleAnimator = ObjectAnimator.ofFloat(mDynamicCircle, "rotation", 0.0f, 360.0f);mCircleAnimator.setDuration(60000);mCircleAnimator.setInterpolator(new LinearInterpolator());mCircleAnimator.setRepeatCount(-1);mCircleAnimator.setRepeatMode(ObjectAnimator.RESTART);
3.开始旋转:
mCircleAnimator.start();
4.暂停旋转:
mCircleAnimator.pause();
5.继续旋转:
mCircleAnimator.resume();
6.停止旋转并重置:
mCircleAnimator.end();
1 0
- android动画实现一张图自动旋转、可随时暂停、停止和重置,类似秒表指针旋转动画
- 实现类似小米手机的秒表指针旋转动画摸索
- HTML5超酷秒表动画 可暂停和重置秒表
- HTML5超酷秒表动画 可暂停和重置秒表
- Android 旋转动画,停止和持续旋转
- Android自定义View——从零开始实现可暂停的旋转动画效果
- Android 实现可以暂停旋转的ObjectAnmition动画
- ObjectAnimator 动画旋转 暂停时停止在旋转到的位置
- css3实现不停得动画旋转暂停--音乐的旋转暂停等、
- Android 动画 - RoateAnimation 旋转动画
- Android动画之旋转动画
- Jquery旋转动画实现
- 旋转动画基本实现
- Android 动画旋转效果
- android 旋转动画
- android旋转动画
- Android旋转动画
- Android 旋转动画
- 十九、css实现多行文本溢出显示省略号(…)
- bzoj 3924: [Zjoi2015]幻想乡战略游戏 动态树分治
- MyEclipse查看jar包源代码乱码问题解决
- hdu4352——XHXJ's LIS(数位DP+状压)
- Python+Selenium框架设计篇之9-unittest执行脚本方法之makeSuite()
- android动画实现一张图自动旋转、可随时暂停、停止和重置,类似秒表指针旋转动画
- TypeError: Expected int32, got list containing Tensors of type '_Message' instead.
- 2017CCCC决赛 L1-6. 整除光棍
- 初识进程
- 微信支付小记
- python学习笔记-eval
- MD5加密
- B+树
- 湖北民族学院oj 1780 (BFS) 之 马的移动