Android Animation :: Membuat Splash Screen pada Aplikasi Android (II)

Melanjutkan bagian pertama tentang bagaimana cara membuat splash screen di Android, inilah bagian keduanya.

Di bagian pertama kita telah membuat file-file xml yang berfungsi sebagai layout dan animasi. Kini kita akan membuat file java-nya yang berfungsi untuk mendayagunakan resource yang telah kita buat sebagai splash screen. 🙂 Here we go.

Membuat SplashScreen Activity

Oke, inilah file utama yang berguna untuk membuat splash screen pada aplikasi splash screen kita. Pertama-tama di folder src pada proyek Android kalian, bikin sebuah kelas baru dan berinama SplashScreen.java.
Setelah itu, copy pastekan kode berikut. Jangan lupa ganti nama package dengan nama package pada proyek Android kalian

package id.web.twoh.helloworld;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.Window;

public class SplashScreen extends Activity{
	@Override
	public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.splash);
        /*menjalankan splash screen dan menu menggunakan delayed thread*/
        new Handler().postDelayed(new Thread() {
            @Override
            public void run() {
                   Intent mainMenu= new Intent(SplashScreen.this,HelloWorldActivity.class);
                   SplashScreen.this.startActivity(mainMenu);
                   SplashScreen.this.finish();
                   overridePendingTransition(R.layout.fadein,R.layout.fadeout);
            }
    }, 3000);
    }
}

Mari kita analisa kode di atas. 😀 Activity ini mula-mula akan meminta sebuah window feature menggunakan this.requestWindowFeature(). Metode ini biasa dipakai untuk menghilangkan title bar pada aplikasi Android. Yups, sebuah splash screen tidak butuh title bar, jadi dihilangkan saja. Kemudian kita set layout pada Activity ini ke layout splash.xml yang telah kita buat di postingan sebelumnya. Setelah itu, kita akan menjalankan splash screen dan main menu menggunakan delayed thread. Kita akan menggunakan android.os.Handler untuk mengirimkan pesan bahwa sebuah thread akan dijalankan dengan metode postDelayed(). Method postDelayed() tersebut membutuhkan dua buah parameter masukan, yaitu Thread yang ingin dijalankan dan lama waktu delay hingga Thread itu selesai dieksekusi.

Kemudian kita masuk ke dalam runnable process, di sini kita akan membuat Intent baru untuk berpindah dari aktivitas SplashScreen ini ke aktivitas Main Menu, yang kebetulan di program ini namanya adalah HelloWorldActivity. Setelah itu kita jalankan Intent tersebut dengan menggunakan method startActivity(), yang mana setelah selesai dijalankan, aktivitas SplashScreen kemudian akan memanggil method finish() untuk mengakhiri aktivitas tersebut. Nah, inilah yang membuat kalau kita klik tombol back dari main Menu, kita nggak akan kembali ke layar SplashScreen karena aktivitas tersebut sudah dimusnahkan. 😀

Sedangkan, yang terakhir adalah method overridePendingTransition() yang berfungsi untuk memberikan efek animasi fade-in dan fade-out pada waktu pergantian aktivitas. Kemudian angka 3000 adalah waktu delay untuk parameter masukan, satuannya adalah milliseconds. Yang berarti total proses transisi adalah 3 detik.

Kemudian ini adalah kelas main menunya, bernama HelloWorldActivity.java

package id.web.twoh.helloworld;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class HelloWorldActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_hello_world);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_hello_world, menu);
		return true;
	}

}

Kelas ini nggak ada modifikasi apa-apa, kalau kalian mengikuti tutorial Android hello world dari sini.

Kemudian ini adalah file activity_hello_world.xml yang berfungsi sebagai layout HelloWorldActivity, sama juga nggak ada modifikasi, kecuali ngganti tulisannya saja. 😀

<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=".HelloWorldActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world" />

</RelativeLayout>

Kemudian, ini Android Manifest-nya. Jangan lupa mengeset intent-filter nya ke aktivitas SplashScreen.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="id.web.twoh.helloworld"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="8" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="id.web.twoh.helloworld.HelloWorldActivity"
            android:label="@string/app_name" >
        </activity>
        <activity
            android:name="id.web.twoh.helloworld.SplashScreen"
            android:label="@string/app_name">
			<intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Dan inilah tampilan Splash Screen aplikasi ketika dijalankan. Oh iya, jangan lupa untuk menceklist Show All Animation pada Settings -> Display -> Animation. Karena kalau tidak, efek animasi dari splash screen-nya tidak akan berjalan.

Contoh transisi animasi pada splash screen

Contoh transisi animasi pada splash screen





Download aplikasi kami di Google Play Store


Tutorial Menarik Lainnya :

21 Comments

  1. satrianegara February 22, 2013
    • Herdi Naufal February 22, 2013
  2. rio June 21, 2013
    • Herdi Naufal June 21, 2013
  3. Azar July 23, 2013
    • Hafizh Herdi Naufal August 1, 2013
      • Akmal August 1, 2013
  4. andri September 14, 2013
  5. rudi January 14, 2014
  6. Muhammad Hardiansyah February 20, 2014
  7. eri July 15, 2014
  8. niko February 19, 2015
  9. Didi March 11, 2015
  10. jonathan tiku ali March 30, 2015
  11. Archtz June 11, 2015
    • Hafizh Herdi June 12, 2015
      • Syahril September 14, 2015

Leave a Reply

Do NOT follow this link or you will be banned from the site!