Upload
muhammad-haries-h
View
21
Download
8
Embed Size (px)
DESCRIPTION
Pemograman Android
Citation preview
Membuat Splash Screen Pada Android
Buat file class baru dengan nama splashscreen dan isikan kode berikut:
import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Window;
public class splashscreen extends Activity{
@Overrideprotected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);this.requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.splashscreen);
Thread timer = new Thread(){
@Overridepublic 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 com.example.splash.Loading.LoadingTaskFinishedListener;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import 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); } }