KotlinでSplash画面を作る方法!初心者でもできるAndroidアプリの起動画面実装
生徒
「アプリを起動したときに、ロゴとかが出るカッコいい画面ってどうやって作るんですか?」
先生
「それは『Splash(スプラッシュ)画面』と呼ばれるもので、アプリが起動する瞬間に一時的に表示されるスタート画面のことなんです。Kotlinで簡単に作れますよ。」
生徒
「どんなときに使うんですか? ただの飾りですか?」
先生
「飾りの意味もありますが、アプリの初期処理中にユーザーに待ってもらうための大切な役割もあります。それでは、基本的な作り方を見ていきましょう。」
1. Splash画面とは?
Splash(スプラッシュ)画面とは、Androidアプリの起動時に一瞬表示される導入画面のことです。アプリのロゴやアニメーション、ブランドイメージを見せることで、ユーザーの印象を良くしたり、アプリの初期設定が終わるまでの待ち時間を自然に演出できます。
最近のAndroidでは「公式推奨のスプラッシュ画面の作り方」が用意されていて、Kotlinで誰でも簡単に実装できるようになっています。
2. 使うファイルを確認しよう
Splash画面を作るには、主に以下の3つのファイルを使います。
- テーマ(themes.xml):見た目のデザインを設定する場所です
- 起動用のActivity(SplashActivity.kt):最初に動く画面のKotlinコードです
- ロゴ画像などのリソース:表示するアイコンや背景などを使います
3. Splash用テーマを設定しよう
アプリが起動した瞬間に最初に使われるのが「テーマ(Theme)」です。Splash画面専用のテーマを作っておくことで、スムーズに表示できます。
res/values/themes.xmlの中に以下を追加します。
<style name="Theme.MyApp.Splash" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">@color/white</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
<item name="windowSplashScreenAnimationDuration">1000</item>
<item name="postSplashScreenTheme">@style/Theme.MyApp</item>
</style>
windowSplashScreenAnimatedIconには、表示したいロゴ画像を指定しましょう。
4. AndroidManifestにテーマを設定
次に、Splash画面として最初に起動されるActivityに、このテーマを設定します。AndroidManifest.xmlで、以下のように指定します。
<activity
android:name=".MainActivity"
android:exported="true"
android:theme="@style/Theme.MyApp.Splash">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
この設定により、アプリを起動したときに自動的にSplash画面が表示されます。
5. スプラッシュ画面からメイン画面へ遷移する
Splash画面の表示後、自動的にメイン画面へ移動する処理をKotlinで書きましょう。起動後1秒だけスプラッシュ画面を見せてから、MainActivityへ遷移する方法です。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
Thread.sleep(1000) // 1秒待機
setTheme(R.style.Theme_MyApp) // スプラッシュテーマから通常テーマへ変更
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
Thread.sleepは、処理を一時停止して画面を見せるための命令です。setThemeで通常のデザインテーマに戻しています。
6. ロゴ画像を設定する方法
Splash画面で表示するロゴ画像は、res/drawableフォルダにic_launcher_foreground.xmlなどを用意します。PNGやSVG画像も使えますが、できるだけシンプルなロゴを選ぶと見栄えがよくなります。
7. よくある注意点
- 待機時間を長くしすぎない:1〜2秒程度が理想です。長すぎるとユーザーが離れてしまいます。
- メイン画面への遷移を忘れない:必ずIntentなどで画面を切り替えましょう。
- テーマ設定を正しく行う:テーマが間違っているとSplash画面が表示されません。
8. Splash画面の役割とメリット
Splash画面を入れることで、ユーザーに「ちゃんとアプリが動き始めているよ」という安心感を与えることができます。アプリが重くてすぐに画面が出ないときでも、スプラッシュ画面が表示されていれば「待たされている」という印象をやわらげることができます。
また、ロゴやブランドカラーを見せることでアプリの印象を強く残せるため、ブランディングにも効果的です。