Anda di halaman 1dari 5

Membuat Splash Screen Pada Android

Buat file class baru dengan nama splashscreen dan isikan kode berikut:
import
import
import
import

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

public class splashscreen extends Activity


{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.splashscreen);
Thread timer = new Thread()
{
@Override
public void run()
{
try
{
sleep(2000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
finally
{
finish();
Intent m = new
Intent(splashscreen.this, formInput.class);
startActivityForResult(m,0);
}
}
};
timer.start();
}
}

Buat Layout XML Baru dengan nama splashscreen dan isikan teks dan gambar yang ingin
ditampilkan

Menambahkan Progress Bar Horizontal


Tambahkan pada splash screen kode berikut.

final ProgressBar prg=(ProgressBar)findViewById(R.id.prgBar);


new Thread(new Runnable() {
@Override
public void run() {
while(progressStatus<100){
try{
Thread.sleep(100);
}catch (Exception e) {
}
++progressStatus;
mHandler.post(new Runnable() {
@Override
public void run() {
prg.setProgress(progressStatus);
}
});
}
}
}).start();

File baru dengan nama loading


import android.os.AsyncTask;
import android.util.Log;
import android.widget.ProgressBar;
public class Loading extends AsyncTask<String, Integer, Integer> {
public interface LoadingTaskFinishedListener {
void onTaskFinished();
}
private final ProgressBar progressBar;
private final LoadingTaskFinishedListener finishedListener;
public Loading(ProgressBar progressBar,
LoadingTaskFinishedListener finishedListener) {
this.progressBar = progressBar;
this.finishedListener = finishedListener;
}
@Override
protected Integer doInBackground(String... params) {
Log.i("Tutorial", "Starting task with url: " + params[0]);
if (resourcesDontAlreadyExist()) {
downloadResources();
}
return 1234;
}
private boolean resourcesDontAlreadyExist() {
return true;
}
private void downloadResources() {
int count = 10;
for (int i = 0; i < count; i++) {
int progress = (int) ((i / (float) count) * 100);
publishProgress(progress);
try {
Thread.sleep(100);
} catch (InterruptedException ignore) {
}
}
}

@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
progressBar.setProgress(values[0]);
}
@Override
protected void onPostExecute(Integer result) {
super.onPostExecute(result);
finishedListener.onTaskFinished();
}
}

Isikan pada file splash screen


import
import
import
import
import
import

com.example.splash.Loading.LoadingTaskFinishedListener;
android.os.Bundle;
android.app.Activity;
android.content.Intent;
android.view.Menu;
android.widget.ProgressBar;

public class MainActivity extends Activity implements


LoadingTaskFinishedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ProgressBar progressBar = (ProgressBar)
findViewById(R.id.progressbar_Horizontal);
new Loading(progressBar, this).execute("");
}
@Override
public void onTaskFinished() {
completeSplash();
}
private void completeSplash(){
startApp();
finish(); // Don't forget to finish this Splash Activity so the user
can't return to it!
}
private void startApp() {
Intent intent = new Intent(MainActivity.this, Dashboard.class);
startActivity(intent);
}
}

Anda mungkin juga menyukai