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"

一般に、アニメーションはビューの実際のプロパティを変更せず、アニメーション化するだけです。実際のプロパティを変更する場合は、AnimationListener を使用して onAnimationEnd をリッスンし、自分で変更します。

于 2012-04-18T06:04:20.097 に答える
2

setFillAfter と setFillEnable が必要な答えです。

于 2012-04-18T06:16:09.537 に答える
2

最初にアニメーションのインスタンスを取得します

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

「R.anim.animation」は、アニメーションが何であれ参照します。

を使用して、このアニメーションにアニメーション リスナーを配置します。

anim.setAnimationListener 

AnimationListener の onAnimationCompleted() メソッドでビューを可視にします。

これはうまくいくはずです。

于 2012-04-18T06:06:19.443 に答える