Bismillah,

Bosan dengan splash screen mu itu — itu aja? Mungkin udah saat nya move on pakai library kecje satu ini 😀
namanya AVLoadingIndicatorView. Kalau baca dari si empunya sih deksripsi dari library nya seperti ini

AVLoadingIndicatorView is a collection of nice loading animations for Android.

Ya, sangat menarik sekali . hehe

Untuk library nya bisa di akses disini!

Nah, Kali ini saya ingin share step by step cara pembuatannya:
1. Terlebih dahulu buat sebuah project android

2. Tambahkan pada bagian gradlenya :

implementation 'com.wang.avi:library:2.1.3'

3. Setelah itu pada bagian xml layoutnya tambahkan codingan seperti ini :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:background="@color/colorPrimary"
    android:gravity="center"
    android:orientation="vertical">
    <LinearLayout
        android:id="@+id/lv_loading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/ic_launcher" />
        <com.wang.avi.AVLoadingIndicatorView
            android:id="@+id/avi"
            style="@style/AVLoadingIndicatorView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="visible"
            app:indicatorName="BallPulseIndicator" />
    </LinearLayout>
</LinearLayout>

Tampilan preview layout

4. Pada Activity tambahkan codingan seperti ini :

lv_loading = (LinearLayout) findViewById(R.id.lv_loading);
        avi= (AVLoadingIndicatorView) findViewById(R.id.avi);
        avi.setIndicator("BallClipRotateMultipleIndicator");

Full codingan nya tampak seperti ini :

public class MainActivity extends AppCompatActivity {
    //pembuatan variabel untuk linearlayout
    private LinearLayout lv_loading;
    private AVLoadingIndicatorView avi;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        lv_loading = (LinearLayout) findViewById(R.id.lv_loading);

        avi= (AVLoadingIndicatorView) findViewById(R.id.avi);
        avi.setIndicator("BallClipRotateMultipleIndicator");

        //membuat sebuah proses yang ter delay
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                //mendefenisikan Intent activity
                Intent i = new Intent(MainActivity.this,MainActivity.class);
                startActivity(i);
                //finish berguna untuk mengakhiri activity
                //disini saya menggunakan finish,supaya ketika menekan tombol back
                //tidak kembali pada activity SplashScreen nya
                finish();
            }
            //disini maksud 3000 nya itu adalah lama screen ini terdelay 3 detik,dalam satuan mili second
        }, 3000);
    }
   
}

Silahkan ganti tipe indikator nya sesuai dengan yang kita inginkan , Untuk tipe indikatornya seperti dibawah ini :

Running Project maka anda akan melihat animasi yang sangat epic sekali 😉

Download project dari github

Video Demo :

https://www.youtube.com/watch?v=pmSJD0U-obI&w=560&h=315%5D

Advertisements