0
0

splash screen

Posted at

理解を助けるために、スプラッシュ画面のカスタマイズの例を示します。以下は、Kotlinでの基本的なスプラッシュ画面の実装とそのカスタマイズです。レイアウトファイル (res/layout/activity_splash.xml):

<ImageView
    android:id="@+id/splash_logo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_splash_logo" />
スプラッシュ画面のアクティビティ (SplashActivity.kt):class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_splash)

    // スプラッシュ画面の表示時間を設定
    Handler().postDelayed({
        // ここでメイン画面に遷移する処理を記述
        val intent = Intent(this, MainActivity::class.java)
        startActivity(intent)
        finish()
    }, SPLASH_DELAY)
}

companion object {
    private const val SPLASH_DELAY = 2000L // ミリ秒単位でスプラッシュ画面を表示する時間を設定
}

}
テーマの変更 (res/values/styles.xml):
この例では、スプラッシュ画面のレイアウトや表示時間、背景色、ロゴなどをカスタマイズしています。それぞれのファイルやコード部分で変更された点を確認してください。

AndroidManifest.xmlファイルでスプラッシュ画面のアクティビティを宣言する必要があります。これにより、アプリが起動した際にスプラッシュ画面が表示されるようになります。以下は、AndroidManifest.xmlファイルでスプラッシュ画面のアクティビティを宣言する方法の例です:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".SplashActivity"> <!-- スプラッシュ画面のアクティビティを宣言 -->
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".MainActivity"> <!-- メイン画面のアクティビティを宣言 -->
        ...
    </activity>
    ...
</application>
上記の例では、SplashActivityがandroid.intent.action.MAINとandroid.intent.category.LAUNCHERのインテントフィルターで指定されています。これにより、アプリが起動するときにスプラッシュ画面が表示されるようになります。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0