11 Mar

Membuat Custom Dialog pada Android

Dear Android Developer, apa kabar semua.

Pada tutorial kali ini saya ingin mengulas tentang cara membuat custom dialog. Dialog pada Android umumnya hanya terdiri dari teks dan icon serta satu sampai tiga button yaitu Positive Button, Neutral Button dan Negative Button. Contoh dari dialog biasa adalah seperti berikut ini:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Enter Password");
builder.show();

Tampilan dialog tersebut, sebenarnya dapat dengan mudah kita ubah  tampilannya menjadi dialog yang sesuai dengan keinginan kita. Caranya adalah dengan membuat layout khusus. Misalnya kita memiliki layout buatan kita sendiri (tempatnya ada di folder res/layout) dengan nama custom_dialog.xml.

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:id="@+id/root"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <TextView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/TextView_Pwd1"
        android:text="@string/settings_password"
        android:textStyle="bold" />
    <EditText
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:id="@+id/EditText_Pwd1"
        android:inputType="textPassword" />
    <TextView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/TextView_Pwd2"
        android:text="@string/settings_password2"
        android:textStyle="bold" />
    <EditText
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:id="@+id/EditText_Pwd2"
        android:inputType="textPassword" />
    <TextView
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:id="@+id/TextView_PwdProblem"
        android:textStyle="bold"
        android:gravity="center" />
</LinearLayout>

Setelah selesai membuat layout custom tersebut, maka yang perlu dilakukan adalah mengubah sedikit kode program kita pada AlertDialog sebelumnya menjadi:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Enter Password");
builder.setLayout(R.layout.custom_dialog);
builder.show();

Yang perlu kita tambahkan adalah builder.setLayout(R.layout.custom_layout). Selesai sudah tutorial hari ini, semoga dapat bermanfaat bagi temen-temen semua.

Best Regards,

Andi Taru – JavaClopedia