在Android中旋转按钮

时间:2018-10-09 09:28:36

标签: android

我想使用以下代码逐步旋转Android应用程序中的按钮之一:

  for(int i=0; i<90; i++)
  {
        myButton.setRotation(i);
        try 
        {
            Thread.sleep(5);
        } 
        catch (Exception e) 
        {
            e.printStackTrace();
        }
  }

睡眠只在阶段之间有一点延迟。

运行代码后,按钮将旋转90度,但不会逐渐旋转,它只会跳到90度。

如何修改代码以显示中间状态?

2 个答案:

答案 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