Android:完成动画后,旋转动画会恢复到真实状态吗?

时间:2012-04-18 05:52:46

标签: android android-layout animation android-animation

我要在我的应用中旋转图像。 旋转时所有工作都很好。 但是当我旋转动画完成时,Image将返回其先前的位置。我想要的是将图像保持在旋转状态,而不是让它恢复到真实状态。

那么如何才能实现呢? 要旋转图像我使用下面的代码:

    <?xml version="1.0" encoding="utf-8"?>

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:fromDegrees="0"
    android:toDegrees="30"
    android:duration="2000">

</rotate>

并将其应用于ImgeView,如:

myImageView.startAnimation(rotateRight);

所以,请帮我解决这个问题。

3 个答案:

答案 0 :(得分:28)

请参阅How can I animate a view in Android and have it stay in the new position/size?

<set标记内,使用

android:fillAfter="true"
android:fillEnabled="true"

通常,动画不会改变视图的实际属性,它只会动画它。如果要更改实际属性,请使用AnimationListener并侦听onAnimationEnd并自行进行更改。

答案 1 :(得分:2)

首先使用

获取动画实例
Animation anim = AnimationUtils.loadAnimation(context, R.anim.animation);

“R.anim.animation”指的是你的动画。

使用。

为此动画添加动画侦听器
anim.setAnimationListener 

使视图在AnimationListener的onAnimationCompleted()方法中可见。

这应该有用。

答案 2 :(得分:2)

setFillAfter和setFillEnable是您需要的答案。