我想使用以下代码逐步旋转Android应用程序中的按钮之一:
for(int i=0; i<90; i++)
{
myButton.setRotation(i);
try
{
Thread.sleep(5);
}
catch (Exception e)
{
e.printStackTrace();
}
}
睡眠只在阶段之间有一点延迟。
运行代码后,按钮将旋转90度,但不会逐渐旋转,它只会跳到90度。
如何修改代码以显示中间状态?
答案 0 :(得分:1)
在动画文件夹名称rotate_ninety
中创建xml文件
<rotate
android:duration="2500"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:repeatMode="restart"
android:toDegrees="90" />
然后用此代码替换循环
Animation animation = AnimationUtils.loadAnimation(this, R.anim.rotate_ninety);
myButton.startAnimation(animation);
答案 1 :(得分:0)
您可以尝试以下代码来旋转按钮:
long rotation = 90; //insert number of degrees here
myButton.animate()
.rotation(rotation)
.setDuration(500) //500 is half a second
.setStartDelay(100) //this is optional
.start();
有关ViewPropretyAnimator的更多信息,请查看here。