Android Studio : Cara membuat splash screen yang efisien

Kenapa yang efisien, karena beberapa cara yang ada di internet menggunakan activity sebagai splash screen. Hal ini tidak efisien karena kita menggunakan delay waktu dengan nilai yang eksak sehingga bisa saja app sudah terload tapi karena delay waktu belum habis, tetap menampilkan splash screen.

Step 1. Buat splash.xml

Untuk step ini kita siapkan dulu tampilan dari splash screen yang akan kita gunakan. Kita beri nama splash.xml dan simpan dibawah folder res/drawable

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:opacity="opaque">
    <item android:drawable="@color/colorPrimary"/>
    <item>
        <bitmap
            android:gravity="center"
            android:src="@drawable/icon_splash"/>

    </item>
</layer-list>

Step 2. Buat Theme SplashTheme

Buat theme baru didalam style.xml

    <style name="SplashTheme" parent="AppTheme">
        <item name="android:windowBackground">@drawable/splash</item>
    </style>

Step 3. Update Manifest

Update AndroidManifest.xml dengan menambahkan theme pada MainActivity

      <activity
            android:name=".MainActivity"
            android:theme="@style/SplashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

Step 4. Update MainActivity

Tambahkan code untuk rubah theme menjadi theme yang seharusnya

@Override 
protected void onCreate(Bundle savedInstanceState) {
        setTheme(R.style.AppTheme);
}

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *