Mudah Membuat Splash Screen dengan Android Studio

Bagus Aji Santoso 21 Februari 2018

Mudah Membuat Splash Screen dengan Android Studio

Splash screen adalah istilah yang diberikan pada layar pembuka setiap kali kita menjalankan sebuah aplikasi Android. Contoh splash screen adalah saat kita membuka aplikasi Youtube. Perhatikan gambar di bawah:

Image

Sekarang kita akan belajar bagaimana membuat splash screen seperti itu.

Pertama, kita buat dulu project baru dan beri nama Splash Screen Codepolitan dan pilih Basic Activity sebagai template awal.

Selanjutnya, buat file baru bernama splash_bg.xml di folder /res/drawable dan isikan dengan kode berikut:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/colorPrimary"/>

    <item android:gravity="center" android:width="100dp" android:height="100dp">
        <bitmap
            android:gravity="fill_horizontal|fill_vertical"
            android:src="@drawable/logo"/>
    </item>

</layer-list>

Kode di atas mengatur warna latar splash screen dibagian <item android:drawable="@color/colorPrimary"/>. Di bawahnya kita menambah komponen logo dengan mengatur tinggi, lebar, dan sumber gambarnya. Untuk file logo silahkan ambil logo Codepolitan disini dan simpan di folder /res/drawable.

Berikutnya, kita akan mengatur style khusus untuk splash screen. Buka file res/values/styles.xml dan tambahkan kode berikut di bawah komponen <style/> yang lain:

<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
		<item name="android:windowBackground">@drawable/splash_bg</item>
</style>

Setelah selesai mengatur style, sekarang kita buat file java baru dan beri nama SplashActivity. File Java ini akan kita jadikan sebagai splash screen. Karena hanya berfungsi sebagai splash screen, maka kita tidak perlu memberikan layout untuknya (tidak ada setContentView):

public class SplashActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // langsung pindah ke MainActivity atau activity lain 
        // begitu memasuki splash screen ini
		Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
        finish();
    }
}

Karena sudah menambah satu Activity baru secara manual, maka kita perlu menambahkan Activity ini ke AndroidManifest.xml sendiri. Kita juga perlu mengatur agar SplashActivity dipanggil sebagai activity pertama saat memanggil.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.lobothijau.splashscreencodepolitan">

    <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=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <!-- Hapus Intent filter MainActivity --> 
        </activity>

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

</manifest>

Sekarang, coba jalankan.

Image

Source code: https://github.com/lobothijau/splash_screen Referensi: https://medium.freecodecamp.org/how-to-make-a-splash-screen-on-android-correctly-64ab74482a33