11

重複の可能性:
Android:完了後にアニメーションの位置がリセットされる

RotateAnimationを回転させるために使用していImageViewます。コードは単純です:

this.button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Animation ani = new RotateAnimation(
                0, /* from degree*/
                30, /* to degree */
                Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        ani.setDuration(1000);
        imageView.startAnimation(ani);
    }
});

imageViewを30度回転させたいことがわかります。

動作しますが、回転すると画像は元の状態に戻り、同じ位置と角度で回転します。最後のアニメーション位置でImageViewを修正したい、つまり30度傾けた画像を修正したい。それを修正する方法は?

4

2 に答える 2

21

私はただ解決策を見つけます:

ani.setFillAfter(true);

できます :)

于 2012-08-28T09:41:26.140 に答える
0

これは、Androidでアニメーションを使用する場合の通常の方法です。

あなたはできる:

  • 継続時間なしで新しいアニメーションを開始し、「無限」でプロパティを繰り返し、画像を内側に回転させます
  • アニメーションの最後に回転値を手動で配置します(ただし、私が間違っていなければ、Android 3.0より下の特定のアニメーションなしではそれを行うことはできません)。
于 2012-08-28T09:23:56.147 に答える