安卓:旋转动画在完成动画后恢复到真实状态



我要在我的应用程序中旋转图像。旋转时一切正常。但是当我旋转动画完成时,图像将返回到其先前的位置。我想要的是将该图像保持到旋转状态,而不是将其恢复到真实状态。

那么如何使之成为可能呢?要旋转图像,我使用以下代码:

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

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

请参阅如何在 Android 中为视图添加动画效果并使其保持在新的位置/大小?

<set 标记内,使用

android:fillAfter="true"
android:fillEnabled="true"
通常,动画

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

首先使用

Animation anim = AnimationUtils.loadAnimation(context, R.anim.animation);

"R.anim.animation"是指您的动画是什么。

使用将动画侦听器放在此动画上。

anim.setAnimationListener 

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

这应该有效。

setFillAfter 和 setFillEnable 是你需要的答案。

最新更新