首页 > 解决方案 > 在 Android 中旋转按钮

问题描述

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

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

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

运行代码后,按钮旋转 90 度,但没有逐渐旋转,它只是跳转到 90 度旋转。

我应该如何修改我的代码以显示中间状态?

标签: android

解决方案


在您的动画文件夹名称中创建 xml 文件rotate_ninety

<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);

推荐阅读