Dalam sebuah aplikasi, kotak dialog merupakan sarana interaktif antara user dengan aplikasi itu sendiri. Misalnya jika kita ingin keluar dari aplikasi, biasanya muncul peringatan berisi pertanyaan “Are you sure to quit?” dan tersedia tombol “yes” dan “cancel”. Pada bagian ini, kita mengimplementasikan 3 macam dialog yaitu
- Toast
- ListDialog
- AlertDialog
Hasil akhir project ini terlihat seperti Gambar 8.1. Oks, langsung kita praktikkan yaap?!
Gambar 8.1. Hasil akhir project Kotak Dialog
- Bikin sebuah project baru
Project
name
|
MembuatDialogBox
|
Contents
|
Create new
project in workspace
|
Build
Target
|
Android 4.3
|
Application
name
|
MembuatDialogBox
|
Package
name
|
contoh.dialogbox
|
Activity Name
|
MainActivity
|
Layout Name
|
main
|
Min SDK
version
|
API 8
|
- Tambahkan 3 string element pada Strings.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, kotakDialog!</string> <string name="app_name">Membuat Kotak Dialog</string> <string name="toastTextBtn">Panggil Toast</string> <string name="exitTextBtn">Keluar Applikasi</string> <string name="listDialogTextBtn">Panggil List Dialog</string> </resources>
- Bikin dulu layoutnya melalui Main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:layout_width="fill_parent" android:id="@+id/toastBtn" android:layout_height="wrap_content" android:text="@string/toastTextBtn"> </Button> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/listDialogBtn" android:text="@string/listDialogTextBtn"> </Button> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/exitTextBtn" android:id="@+id/exitBtn"> </Button> </LinearLayout>
- Okey, sekarang saatnya menulis kode di activity KotakDialog.java. Pastikan kopi source sedikit demi sedikit untuk mengurangi kesalahan.
package contoh.dialogbox; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.widget.Button; import android.widget.Toast; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity implements OnClickListener { Button pesanToast; Button keluar; Button tampilList; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); pesanToast = (Button) findViewById(R.id.toastBtn); pesanToast.setOnClickListener(this); keluar = (Button) findViewById(R.id.exitBtn); keluar.setOnClickListener(this); tampilList = (Button) findViewById(R.id.listDialogBtn); tampilList.setOnClickListener(this); } public void onClick(View clicked) { switch (clicked.getId()) { case R.id.listDialogBtn: munculListDialog(); break; case R.id.toastBtn: Toast.makeText(this, "Kamu memilih Toast", Toast.LENGTH_SHORT) .show(); break; case R.id.exitBtn: exit(); break; } } private void munculListDialog() { // TODO Auto-generated method stub final CharSequence[] items = { "Es Teh", "Es Jeruk", "Lemon Squash", "Soft Drink" }; AlertDialog.Builder kk = new AlertDialog.Builder(this); kk.setTitle("Pilih Minuman"); kk.setItems(items, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show(); } }).show(); } private void exit() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Apakah Kamu Benar-Benar ingin keluar?") .setCancelable(false) .setPositiveButton("Ya", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { MainActivity.this.finish(); } }) .setNegativeButton("Tidak", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int arg1) { // TODO Auto-generated method stub dialog.cancel(); } }).show(); } }
- Nah, sudah selesai. Silakan dirun , semoga tidak error