我要在我的应用中旋转图像。 旋转时所有工作都很好。 但是当我旋转动画完成时,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);
所以,请帮我解决这个问题。
答案 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是您需要的答案。