Android Animation --- 无限360度旋转
16lz
2021-01-23
- 做过重复360度旋转的就知道,到达终点是略有卡顿/停顿
查看Animation.java源码
/** * Gurantees that this animation has an interpolator. Will use * a AccelerateDecelerateInterpolator is nothing else was specified. */ protected void ensureInterpolator() { if (mInterpolator == null) { mInterpolator = new AccelerateDecelerateInterpolator(); } }
发现默认使用的是加速插补器,所以到达终点出现卡顿/停顿,就是它导致的,更改为匀速的插补器即可
代码如下:
ObjectAnimator rotation = ObjectAnimator.ofFloat(hwLogoTurn, "rotation", 0f, 359f);//最好是0f到359f,0f和360f的位置是重复的rotation.setRepeatCount(ObjectAnimator.INFINITE);rotation.setInterpolator(new LinearInterpolator());rotation.setDuration(5000);rotation.start();
现在可以优哉游哉的跑了
更多相关文章
- Android Jetpack之Lifecycle的源码分析
- Android 源码启动虚拟机经验
- Android MediaScannerJNI源码详解
- 2.在服务器上使用 gradle 打包 android 源码
- Android 源码分析 —— 从 Toast 出发
- [转]Eclipse 查看Android SDK源码
- Android Q : 安卓源码、水滴屏适配状态栏图标(图标过多时显示一个
- Android之网络请求7————OkHttp源码4:网络操作