在Android中实现旋转补间动画的问题

时间:2012-07-22 07:01:11

标签: android android-animation

以下是我的动画

的rotate_center.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<rotate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@anim/linear_interpolator"
    android:fromDegrees="0"
    android:toDegrees="350"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="infinite"
    android:duration="2000" />

我尝试在我的.class中做什么

tweenAnimation = (ImageView) findViewById(R.id.imgTweenAnimation);

Animation animationRotateCenter= AnimationUtils.loadAnimation(this, R.anim.rotate_center);

tweenAnimation.startAnimation(animationRotateCenter);

while(count < animationRotateCenter.getDuration())
{
    count++;

    if(count == 4000)
    {
        Log.i(getPackageName(), getLocationClassName() + ": " + count);
        break;
    }
}

//Move to next Intent

问题是,我执行得很好,但没有显示动画。逻辑在后台运行良好,直到它被执行,然后它会中断并直接移动到下一个活动。在这件事情发生时,它只会冻结屏幕。实现补间动画的任何其他选项将在一段固定的时间内执行,之后在完成动画时执行其他任务。我选择这种技术而不是逐帧动画,因为逐帧动画需要单独的.png或.9.png,因此增加了我想避免的.apk文件大小。

1 个答案:

答案 0 :(得分:0)

1,你检查了animationRotateCenter.getDuration()的值吗? 2,我认为你不应该使用android:repeatCount =“infinite”。 希望对你有所帮助。