Cara Membuat Splash Screen pada Android Studio
Splash Screen merupakan tampilan tambahan pada sebuah aplikasi, tampilan ini muncul hanya sementara saat aplikasi pertama kali dijalankan, biasanya digunakan sebagai "Branding" dari pemilik aplikasi, yang akan menampilkan logo atau nama aplikasi pada aplikasi yang akan kita gunakan.
kali dijalankan akan muncul tampilan logo hanya dalam beberapa detik saja, setelah itu akan berpindah pada activity utama.
Materi Yang Harus Kamu Pelajari Sebelumnya:
- Tutorial Cara Membuat Project Android Studio
- Tutorial Dasar Penggunaan Thread Pada Java
- Tutorial Cara Berpindah Activity Menggunakan Intent
Membuat Splash Screen
Untuk membuat splash screen, kita akan menggunakan 2 buah activity pada contoh project kali ini, activity pertama akan kita gunakan sebagai splash screen yang menampilkan logo aplikasi/judul yang akan muncul dalam beberapa detik, setelah itu akan berpindah pada activityMain.
Disini kita akan menggunakan android studio sebagai IDEnya, pertama-tama buat project baru, lalu buat new Empty Activity, dengan nama "splashActivity", dalam activity tersebut kita akan menggunakan ImageView untuk menampilkan gambar/logo aplikasi kita, karena menggunakan ImageView, disarankan kalian sudah memiliki gambar/logo tersebut dan menyimpannya pada direktori res > drawable.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
tools:context="android.cianjur.developer.net.basicandroid.splashActivity">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
app:srcCompat="@drawable/logomeduim" />
</RelativeLayout>
Sebelumnya kita harus menghapus ActionBar bawaan pada activity tersebut dan perlu kalian ingat, splashActivity harus dijadikan activity yang pertama kali tampil pada layar, jika kalian belum mengubahnya menjadi activity yang pertama tampil, maka kalian harus mengubah file AndroidManifest.xml (app > src > main) terlebih dahulu, menjadi seperti ini:
<activity android:name=".MainActivity"></activity>
<activity android:name=".splashActivity"
android:theme="@style/Theme.AppCompat.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Coba kalian perhatikan, untuk menghapus ActionBar pada activity tersebut, kalian harus menambahkan atribut android:theme="@style/Theme.AppCompat.NoActionBar" pada splashActivity, selanjutnya agar splashActivity tampil di awal, tag <intent-filter> beserta isinya harus berada didalam tag <activity android:name=".splashActivity">.
Selanjutnya buka file activity_main.xml, kalian bisa mengeditnya sesuka hati, tapi untuk contoh kali ini saya hanya akan menggunakan TextView saja pada activity tersebut.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="android.cianjur.developer.net.basicandroid.MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Selamat Datang Di WILDAN TECHNO ART"
android:textSize="15sp"
android:textStyle="bold" />
</RelativeLayout>
Buka file splashActivity.java pada project kalian, untuk membuat splash screen, pada source kode berikut ini, kita akan menggunakan fungsi thread untuk membuat waktu pending yang bisa kita tentukan sendiri.
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class splashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
Thread thread = new Thread(){
public void run(){
try{
sleep(2000); // set Waktu Pending selama 2 detik
}catch(InterruptedException ex){
ex.printStackTrace();
}finally {
startActivity(new Intent(splashActivity.this, MainActivity.class));
finish(); // Menutup Activity
}
}
};
thread.start();
}
}
Coba kalian perhatikan, sleep(2000) artinya kita mengset waktu pending selam 2000ms/2detik, jadi splash screen akan tampil selama 2 detik, setelah itu akan berindah pada activity_main, dan jangan lupa untuk menambahkan finish() supaya user tidak bisa kembali ke halaman splash screen lagi.
Terakhir, jalankan project tersebut, dan lihatlah hasilnya.
Selamat mencoba, semoga sukses, jika ada yang ingin ditanyakan silakan isi komentar dibawah, mohon maaf bila ada kesalahan, Wassalamualaikum Warahmatullahi Wabarakatuh.