今回はアクティビティを開くとき(画面遷移をするとき)にアニメーションをつける方法を紹介します。
紹介するアニメーションは
- fadeIn, fadeOut(フェードイン、フェードアウト)
- slideIn, slideOut(スライドイン、スライドアウト)
の2種類です。
デモ動画
通常 Activity 間の移動(画面遷移)を行うときは、このように書きます。
今回紹介するアニメーションは、このコードにたった1行追加するだけで利用できます。
簡単なのでぜひ利用してみてください
開発環境
Android Studio 3.4
Android Emulator Nexus5 (API 27)
動画
解説
プロジェクトの用意
このサンプルでは Activity Animation という名前でプロジェクトを作成して MainActivity.java と activity_main.xml があることを前提に進めていきます。
また、遷移先のアクティビティとして SecondActivity.java と activity_second.xml を作成しています。
ご自身のプロジェクトに合わせて変更してください。
画面遷移するボタンを用意
まずは画面遷移するための
- デフォルト
- フェード
- スライド
の3つのボタンを用意します
activity_main.xml を開いて、以下のようにコードを書きます。
このような画面になります。
18・26・34行目
それぞれのボタンに id を設定しています。
このあと onClickListener を使ってボタンが押された時の処理を書いていくため、id を設定しておきます。
クリックリスナーをセット
それぞれのボタンにクリックリスナーをセットします。
MainActivity.java を開いて、7行目の implements View.OnClickListener、15~17・20~23行目を追加します。
15~17行目
クリックリスナーをセットすると、それぞれのボタンが押された時に 21行目の onClick メソッドが呼び出されるようになります。
ボタンが押された時の処理
MainActivity.java の onClick メソッドに3~13行目を追加します。
3行目
どのボタンを押しても必要になる画面遷移のコードです。
「デフォルト」ボタンを押した時はこのコードだけ実行されます。
6~8行目
「フェードイン・アウト」ボタンが押された時は
が実行されて、フェードアニメーション付きの画面遷移になります。
10~12行目
「スライドイン・アウト」ボタンが押された時は
が実行されて、スライドアニメーション付きの画面遷移になります。
完成
上手く動かない場合は、以下のサンプルコードを参考にしてみてください。
activity_main.xml
MainActivity.java