2012年10月15日
AndroidのアニメーションTIPS
こんばんは、牧野です。
ここのところ2、3ヶ月くらい、古典に興味がわいています。中学や高校の授業で勉強する、いわゆる古文の範囲です。百人一首を覚えたり、枕草子の現代語訳を読んだりしています。1000年以上前に書かれたものなのに、今でも共感できることがたく さんあったり、そうでないものも感性や文化の違いがわかっておもしろいです。
それに関連して、先月あたりから休日と仕事後の時間を使って百人一首のAndroidアプリを作っていました。今回は普段となるべく違うことがしたくて、Javaを使いました。
ということで、今日はインフラネタではなく、アプリ作成で使ったAndroidのアニメーションについて書きたいと思います。
■回転しながら移動するアニメーション
百人一首のアプリでは、取り札にタッチするとその札を回転させながら画面外に飛ばすようにアニメーションしています。
取り札をそれぞれ一つのTextViewで作っていて、そのTextViewにアニメーションをセットします。
XMLでもアニメーションの挙動を記述できますが、今回はプログラム内で指定しました。
以下、アクティビティクラス内のアニメーション指定部分のサンプルコードです。
int rot = 360;
float yoko = (float)1;
float tate = (float)1;
RotateAnimation a1 = new RotateAnimation(0, rot,
Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f);
a1.setDuration(time);
a1.setInterpolator(new DecelerateInterpolator());
TranslateAnimation a2 = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, 0,
Animation.RELATIVE_TO_PARENT, yoko,
Animation.RELATIVE_TO_PARENT,