仕事でandroidアプリにスプラッシュ画面を作ることになった。
割と簡単だったので、ここに記す
2079 views
最初に、スプラッシュ画面用にActivityを作成します。
スプラッシュ画面の実装に必要なファイルを追加するため
「空のアクティビティー」を選択。クリックする

アクティビティ名を入力する(本書では、仮に「SplashActivity」とします)

次に、作成したActivityの中身を編集します。
スプラッシュ画面の実装に必要な処理を記述するため
package com.konishisoft.splashsample
import android.content.Intent
import android.os.Bundle
import android.os.Handler
import androidx.appcompat.app.AppCompatActivity
class SplashActivity : AppCompatActivity() {
    val handler = Handler()
    val spHandler = SplashHandler()
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_splash)
    }
    override fun onResume() {
        super.onResume()
        //2000ミリ秒遅れて、「spHandler」を実行させる
        handler.postDelayed(spHandler, 2000)
    }
    override fun onStop() {
        super.onStop()
        intent = null
        handler.removeCallbacks(spHandler)
    }
    //スプラッシュ画面からスタート画面に遷移するためのクラス
    inner class SplashHandler : Runnable {
        override fun run() {
            //画面遷移
            intent = Intent(this@SplashActivity, MainActivity::class.java)
            startActivity(intent)
            //アクティビティを破棄する
            this@SplashActivity.finish()
        }
    }
}
スプラッシュ画面にて、表示する画像を保存します。
※画像が保存済の場合は、スキップ可です。
スプラッシュ画面で表示する画面を保存するため。

続いて、Activity作成と同時に作成された「layout」ファイルを編集します。
スプラッシュ画面で画像を表示するため。

次に、stylesファイルを編集します。
スプラッシュ画面で、画面上部のバーを非表示にする設定を作成するため。


2.「styles.xml」に 以下のコードを書く。
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
        <!-- この下のコードを書いてください-->
    <style name="TestTheme" parent = "Theme.AppCompat.Light.DarkActionBar">
        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>
最後に、マニュフェストファイルを書き換えます。
アプリのスタート画面をスプラッシュ画面に設定するため。
スプラッシュ画面の上部にバーを非表示にする設定を反映するため
<!-- ここから下に変更箇所あり -->
    <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">
                <!-- 下記にMainActivityの記述をすること-->
        <activity android:name=".MainActivity"></activity>
                <!-- 下記をSplashActivityにする -->
                <!-- さらに下記に「android:theme = ~」を記述。stylesファイルの設定を反映できる-->
        <activity android:name=".SplashActivity"
            android:theme="@style/TestTheme" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
Page 4 of 5.
        
         
                         
                    
owl
                    
                    駆け出しエンジニア
だいたいweb系をかじってる
最近ちょとブロックチェーンに興味出てきた