tarotaroのエンジニア生活

技術ネタとか日々の仕事の話とか

Viewなどのアニメーションの結果を残しておくには

Androidのアプリで、viewなどにアニメーションをつける場合もあると思います。
そのときアニメーションが終わるとデフォルトの状態だとViewの初期の状態
に戻ってしまいます。例えば下のようなアニメーションの場合のとき

RotateAnimation rotlong = new RotateAnimation(0,90,
 Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);


 rotshort.setInterpolator(new LinearInterpolator());
  rotshort.setDuration(300);
  imageview.startAnimation(rotshort);


0〜90ビューが回転するアニメーションですが、90度回転し終わった後
回転していない状態に戻ってしまいます。

アニメーションの最後のフレームの表示をのこしておきたい場合
もあると思います。 
それには、次のメソッドを追加します。
rotshort.setFillAfter(true);
rotshort.setDuration(300)の後ろ辺りにいれればいいです。