我使用以下代码为基于 RotatedTranstion 的 ImageView 创建了动画:
ImageView icon = ImageCache.getImage("refresh.png");
RotateTransition rotateTransition = new RotateTransition(Duration.millis(2000), icon);
rotateTransition.setByAngle(360.0);
rotateTransition.setCycleCount(Timeline.INDEFINITE);
rotateTransition.play();
这会产生以下动画:
行动中的轮换
正如您可能在 gif 动画中注意到的那样,动画不是连续的,即动画周期之间有一个小的延迟(暂停)。
我尝试查看 API,但无法弄清楚导致这种延迟的原因以及如何摆脱它。
每个周期之间的明显暂停是由插值器,默认情况下使用Interpolator.EASE_BOTH
(因此它在每个周期结束时减速并在开始时加速)。
要删除它,只需将插值器设置为Interpolator.LINEAR
:
rotateTransition.setInterpolator(Interpolator.LINEAR);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)