さて今回は,スプラッシュ画面(スプラッシュスクリーン)を Android で実現する方法について.
基本的な流れは,次のとおり.
1. スプラッシュ画面(スプラッシュ画像を表示するアクティビティ)を表示する.
2. N ミリ秒後にスプラッシュ画面から遷移する.
1 は,レイアウト XML ファイルに ImageView を追加し画像を表示するだけなので割愛する.
重要なのは 2.時間を待って画面遷移をさせるために,Handler#postDelayed() を使用する.Handler#postDelayed() は,N ミリ秒後に Runnable オブジェクトの run() を実行するメソッドだ.(Handler クラスを一文で表すとなんだろうなぁ…….)
実際のコードは次のとおり.コードを見た方がわかりやすい.
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// スプラッシュ画面から、1000ミリ秒後に遷移する。
new Handler().postDelayed(new Runnable() {
public void run() {
Intent intent = new Intent(MainActivity.this, SubActivity.class);
startActivity(intent);
// アクティビティを終了させることで、スプラッシュ画面に戻ることを防ぐ。
MainActivity.this.finish();
}
}, 1000);
}
}
スプラッシュ画面表示時間は,values/integers.xml などに入れておくのも良いかと思う.
プロジェクトファイルは下記 URL に置いてあるので,参考にしてほしい.
http://idisk.mac.com/takuya0301/Public/Android/Example001.zip
参考文献:
Android Developers: Handler
素人のアンドロイドアプリ開発日記: splash画面を作成してみる。