やり方
Activityクラスの下記のメソッドを使う。
public void overridePendingTransition (int enterAnim, int exitAnim)
Activity | Android Developers
http://developer.android.com/reference/android/app/Activity.html#overridePendingTransition(int, int)
公式リファレンスに
Parameters
enterAnim | A resource ID of the animation resource to use for the incoming activity. Use 0 for no animation. |
---|---|
exitAnim | A resource ID of the animation resource to use for the outgoing activity. Use 0 for no animation. |
引数enterAnim/exitAnimに0を指定すると、Activity遷移時のアニメーションを無効化できる。
コード
MainActivityのButtonからSubActivityを呼び出す構成。
SubActivityからBackキーで戻って来る時のアニメーションも無効化するため
SubActivityのfinish()をオーバーライドしてoverridePendingTransition()を呼んでいる。
MainActivity.java
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this, SubActivity.class)); overridePendingTransition(0, 0); } }); } }
SubActivity.java
public class SubActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sub); } @Override public void finish() { super.finish(); overridePendingTransition(0, 0); } }※Layout XMLは割愛
まとめ
今回のやり方は、下記の動画で知りました。
この動画のサンプルコードはChet HaaseさんのGoogle+のリンクからダウンロードできます。
https://plus.google.com/104755487586666698979/posts/i38BBQnjoFU
この他にも有用な動画があるので、Android Developers LiveのDEV.BYTESシリーズおすすめです。
DevBytes - YouTube
http://www.youtube.com/playlist?list=PLWz5rJ2EKKc_XOgcRukSoKKjewFJZrKV0