Assalamualaikum... Selamat malam, pada postingan kali ini, saya ingin berbagi sedikit ilmu tentang membuat splash screen pada saat membuka aplikasi android yang telah anda buat. Biasanya splash screen tampil sejenak kira-kira 3 detik saja dan berisi nama aplikasi, logo aplikasi atau pun info dari aplikasi itu sendiri.
Pada folder res/layout, tambah layout baru dengan nama splash.xml, pastekan koding dibawah ini.
splash.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#7b0800" >
<RelativeLayout
android:id="@+id/rl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
<ImageView
android:id="@+id/splashimg"
android:layout_width="match_parent"
android:layout_height="106dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="160dp"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/textV"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/splashimg"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal|top"
android:height="40dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:text="Blog Codingers Berbagi Tutorial Pemograman Android"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#fff"
android:textSize="14sp"
android:textStyle="bold"
android:typeface="normal" />
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textV"
android:layout_centerHorizontal="true" />
</RelativeLayout>
</RelativeLayout>
Pada folder src/namapackage, tambah class baru dengan nama Splash.java, kemudian pastekan koding berikut.
Splash.java
package com.example.splash;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.MotionEvent;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class Splash extends Activity {
protected boolean _active = true;
protected int _splashTime = 3000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
StartAnimations();// Menjalankan Method Start Animasi
Thread splashThread = new Thread() {
// Timer Splash
public void run() {
try {
int waited = 0;
while (_active && (waited < _splashTime)) {
sleep(100);
if (_active) {
waited += 100;
}
}
} catch (InterruptedException e) {
// do nothing
} finally {
finish();
Intent newIntent = new Intent(Splash.this,
MainActivity.class);// pindah Activity Main
startActivityForResult(newIntent, 0);
}
}
};
splashThread.start();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
_active = false;
}
return true;
}
// Disini Deklarasi Animasinya(StartAnimation)
private void StartAnimations() {
// TODO Auto-generated method stub
// Animasi untuk Frame Layout mengunakan alpha.xml
Animation anim = AnimationUtils.loadAnimation(this, R.anim.alpha);
anim.reset();
RelativeLayout l = (RelativeLayout) findViewById(R.id.rl);
l.clearAnimation();
l.startAnimation(anim);
// Animasi untuk ProgressBar1 mengunakan alpha.xml
Animation anim1 = AnimationUtils.loadAnimation(this, R.anim.alpha);
anim1.reset();
ProgressBar l1 = (ProgressBar) findViewById(R.id.progressBar1);
l1.clearAnimation();
l1.startAnimation(anim);
// Animasi untuk Gambar mengunakan Translate.xml
anim = AnimationUtils.loadAnimation(this, R.anim.translate);
anim.reset();
ImageView iv = (ImageView) findViewById(R.id.splashimg);
iv.clearAnimation();
iv.startAnimation(anim);
anim = AnimationUtils.loadAnimation(this, R.anim.textt);
anim.reset();
TextView nm = (TextView) findViewById(R.id.textV);
nm.clearAnimation();
nm.startAnimation(anim);
}
}
Pada folder res buat folder baru dengan nama anim, kemudian buat 3 buat file didalamnya. Adapun 3 buah file tersebut seperti dibawah ini.
alpha.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="3100"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
textt.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="2000"
android:fromXDelta="0%"
android:fromYDelta="200%"
android:toXDelta="0%"
android:toYDelta="0%"
android:zAdjustment="bottom" />
</set>
translate.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:duration="2000" android:fromxdelta="0%" android:fromydelta="200%" android:toxdelta="0%" android:toydelta="0%" android:zadjustment="top" xmlns:android="http://schemas.android.com/apk/res/android">
</translate></set>
Jalankan aplikasi, maka hasilnya seperti dibawah ini.

Demikianlah sedikit ilmu yang dapat saya sampaikan. Semoga postingan ini membantu.
No comments:
Post a Comment