17

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

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

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

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

4

3 回答 3

29

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

<set标签内,使用

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

一般来说,Animation 不会改变 View 的实际属性,它只会对其进行动画处理。如果要更改实际属性,请使用 AnimationListener 并监听 onAnimationEnd 并自己进行更改。

于 2012-04-18T06:04:20.097 回答
2

首先使用获取动画实例

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

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

使用此动画在此动画上放置一个动画侦听器。

anim.setAnimationListener 

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

这应该有效。

于 2012-04-18T06:06:19.443 回答
2

setFillAfter 和 setFillEnable 是您需要的答案。

于 2012-04-18T06:16:09.537 回答