使うメソッドは、これ。
overridePendingTransition ( R.anim.in_anim, R.anim.out_anim);ActivityでIntentを呼び出した後に、上記のコードを呼び出します。
NextActivityを呼び出してアニメーションを適用したい場合は、インテントを呼び出した後で、こんな感じにoverridePendingTransitionを使います。
Intent i = new Intent(this, NextActivity.class); startActivity(i); overridePendingTransition ( R.anim.in_anim, R.anim.out_anim);この場合、NextActivityはin_animで設定したアニメーションが適用され、Intentを呼び出したクラスには、out_animが適用されます。
animの設定
アニメーションはxmlファイルで指定します。overridePendingTransitionで渡した引数がアニメーションが書かれたxmlのファイルです。で、xmlは、resの配下にanimフォルダー内に設置します。animフォルダーがresフォルダーの配下にない場合は、animとフォルダー名を指定して、フォルダーを新規作成してください。下記のサンプルのアニメーションは、新しいActivityを右らから左にスライドさせて、古いActivityを元の位置から左側に追い出してます。
in_anim.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="200"/> </set>横(X)方向の位置を右側(-100%p)において、Xの位置を元の場所(0)に戻すアニメーションを設定しています。
out_anim.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="200"/> </set>左側に抜けていかせたいので、元の位置から画面一個分(100%p)左側に移動させてます。
*呼び出したActivityから元のActivityに戻るときにもアニメーションを設定したい場合は、呼び出したActivity側でもoverridePendingTransitionを設定してやる必要があります。
使えるアニメーションのタグ
translateは、移動させるアニメーションを定義しているんですが、察するに、多分この辺(Animation Resources : View)のアニメーションのタグが使えるんじゃないのかと思います。- alpha : 透過
- translate : 移動
- rotate : 回転
- scale : 拡大・縮小
複数のアニメーションを適用することも可能
たとえば、translateとalphaとrotateを組み合わせたりってこともできます。<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:fromXScale="1.2" android:fromYScale="1.2" android:toXScale="1.0" android:toYScale="1.0" android:pivotY="0.0" android:pivotX="0.5" android:duration="300" /> <translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="250"/> <rotate android:fromDegrees="15" android:toDegrees="0" android:pivotX="0%" android:pivotY="100%" android:duration="300" android:startOffset="0" /> </set>
コメント
コメント一覧 (5)
[url=http://www.graphicsload.com]converse 店舗[/url]
<a href="http://www.graphicsload.com" title="converse 店舗">converse 店舗</a>
[url=http://www.chinaredstone.com]www.chinaredstone.com[/url]
<a href="http://www.chinaredstone.com" title="www.chinaredstone.com">www.chinaredstone.com</a>
moncler sito ufficiale http://www.bramati.it/images/mon.asp
日本最高級スーパーコピーブランド時計激安通販専門店,高品質時計コピー.
2023最新作、国際ブランド腕時計コピー.
業界唯一無二.世界一流の高品質ブランドコピー時計.
ロレックススーパーコピー https://www.tentenok.com/product-3886.html