thumbnail

Dialog biasanya digunakan sebagai elemen antarmuka pengguna dalam aplikasi Android untuk berinteraksi dengan pengguna, seperti menampilkan informasi, meminta konfirmasi, atau memberikan opsi. Pada tutorial kali ini kita akan mempelajari cara membuat kotak dialog custom di Android menggunakan bahasa Java atau Kotlin.

Siapkan Proyek Android

Pertama, pastikan Anda telah membuat proyek Android yang berfungsi di Android Studio. Jika tidak, buka Android Studio dan buat proyek baru. Pilih template “Aktivitas Kosong” dan tentukan nama proyek dan bahasa pemrograman pilihan Anda (Java atau Kotlin).

Tambahkan Tata Letak Dialog Kustom

Kotak dialog khusus memungkinkan Anda mendesain antarmuka sesuai kebutuhan Anda. Untuk melakukan ini, Anda perlu membuat file tata letak XML baru untuk digunakan oleh kotak dialog.

Membukares/tata letakfolder dan buat file XML baru, mis.custom_dialog.xml。

Dalam file ini, tentukan tata letak kotak dialog. Berikut ini contoh tata letak dengan dua tombol dan teks:

    xml

    Salin kode

    <?xml versi=”1.0″ pengkodean=”utf-8″?>

    <LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

        android:orientasi=”vertikal”

        android:padding=”16dp”

        android:latar belakang=”#FFFFFF”

        android:layout_gravity=”pusat”>

        <Tampilan Teks

            android:id=”@+id/dialogTeks”

            android:layout_width=”wrap_content”

            android:layout_height=”wrap_content”

            android:text=”Apakah Anda yakin ingin melanjutkan?”

            android:ukuranteks=”18sp”

            android:layout_marginBottom=”20dp”/>

        <Tata Letak Linier

            android:layout_width=”match_parent”

            android:layout_height=”wrap_content”

            android:orientasi=”horizontal”

            android:gravity=”akhir”>

            <Tombol

                android:id=”@+id/btnBatal”

                android:layout_width=”wrap_content”

                android:layout_height=”wrap_content”

                android:text=”Batal”/>

            <Tombol

                android:id=”@+id/btnOk”

                android:layout_width=”wrap_content”

                android:layout_height=”wrap_content”

                android:teks=”Oke”

                android:layout_marginLeft=”10dp”/>

        </Tata Letak Linier>

    </Tata Letak Linier>

    Tambahkan Logika Dialog di Aktivitas Utama

    Setelah membuat tata letak dialog khusus, Anda dapat memanggil dialog di aktivitas utama Anda.

    MembukaAktivitas Utama.javaatauAktivitas Utama.kt, dan tambahkan kode berikut untuk menampilkan dialog khusus saat pengguna mengklik tombol.

    Salin kode

    impor Android.os.Bundle;

    impor android.view.View;

    impor android.widget.Tombol;

    impor android.widget.TextView;

    impor androidx.appcompat.app.AlertDialog;

    impor androidx.appcompat.app.AppCompatActivity;

    impor android.view.LayoutInflater;

    kelas publik MainActivity memperluas AppCompatActivity {

        @Mengesampingkan

        protected void onCreate(Paket yang disimpanInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);

            Tombol showDialogButton = findViewById(R.id.showDialogButton);

            showDialogButton.setOnClickListener(Tampilan baru.OnClickListener() {

                @Mengesampingkan

                public void onClick(Lihat v) {

                    showCustomDialog();

                }

            });

        }

        kekosongan pribadi showCustomDialog() {

            Inflater LayoutInflater = getLayoutInflater();

            Lihat dialogView = inflater.inflate(R.layout.custom_dialog, null);

            AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(ini);

            dialogBuilder.setView(dialogView);

            TextView dialogText = dialogView.findViewById(R.id.dialogText);

            Tombol btnCancel = dialogView.findViewById(R.id.btnCancel);

            Tombol btnOk = dialogView.findViewById(R.id.btnOk);

            dialog AlertDialog terakhir = dialogBuilder.create();

            dialog.show();

            btnCancel.setOnClickListener(Tampilan baru.OnClickListener() {

                @Mengesampingkan

                public void onClick(Lihat v) {

                    dialog.dismiss();

                }

            });

            btnOk.setOnClickListener(Tampilan baru.OnClickListener() {

                @Mengesampingkan

                public void onClick(Lihat v) {

                    // Jalankan logika tombol OK

                    dialog.dismiss();

                }

            });

        }

    }

    Kotlin:

    kotlin

    Salin kode

    impor Android.os.Bundle

    impor android.view.LayoutInflater

    impor android.view.View

    impor Android.widget.Tombol

    impor android.widget.TextView

    impor androidx.appcompat.app.AlertDialog

    impor androidx.appcompat.app.AppCompatActivity

    kelas MainActivity : AppCompatActivity() {

        ganti kesenangan onCreate(savedInstanceState: Bundle?) {

            super.onCreate(savedInstanceState)

            setContentView(R.layout.aktivitas_main)

            val showDialogButton: Tombol = findViewById(R.id.showDialogButton)

            showDialogButton.setOnClickListener {

                tampilkanDialog Khusus()

            }

        }

        kesenangan pribadi showCustomDialog() {

            val inflater = layoutInflater

            val dialogView: Lihat = inflater.inflate(R.layout.custom_dialog, null)

            val dialogBuilder = AlertDialog.Builder(ini)

            dialogBuilder.setView(dialogView)

            val dialogText: TextView = dialogView.findViewById(R.id.dialogText)

            val btnCancel: Tombol = dialogView.findViewById(R.id.btnCancel)

            val btnOk: Tombol = dialogView.findViewById(R.id.btnOk)

            val dialog = dialogBuilder.create()

            dialog.tampilkan()

            btnCancel.setOnClickListener {

                dialog.dismiss()

            }

            btnOk.setOnClickListener {

                // Jalankan logika tombol OK

                dialog.dismiss()

            }

        }

    }

    Tambahkan Tombol ke Dialog Panggilan

    adaaktivitas_main.xml, Anda dapat menambahkan tombol yang memicu tampilan kotak dialog khusus.

    xml

    Salin kode

    <Tombol

        android:id=”@+id/showDialogButton”

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

        android:text=”Tampilkan kotak dialog”

        android:layout_centerInParent=”benar”/>

    Uji Aplikasinya

    Sekarang Anda dapat menjalankan aplikasinya di emulator atau perangkat Android. Saat Anda mengklik tombol Tampilkan Dialog, dialog khusus akan ditampilkan dengan dua tombol: “Batal” dan “OK”. Mengklik tombol ini akan menutup dialog.

    Kesimpulan

    Membuat kotak dialog khusus di Android memberi Anda fleksibilitas untuk merancang antarmuka pengguna sesuai dengan kebutuhan aplikasi Anda. Dengan menggunakanAlertDialog.Builderdan tata letak XML khusus, Anda dapat membuat kotak dialog yang lebih interaktif dan menarik. Selain itu, Anda dapat memodifikasi lebih lanjut kotak dialog sesuai kebutuhan Anda, seperti mengambil input pengguna atau menampilkan pesan khusus.

    What to read next