Hai dev, kali ini kita akan belajar bagaimana membuat custom dialog di Android. Hasil dialognya seperti ini.
Jika kalian ingin memperindah hasilnya, kalian dapat melihat Tips membuat Floating Labels.
💻 Mulai Belajar Pemrograman
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.
Daftar SekarangLangkah-langkah:
Di Android Studio, buat project baru File => New Project. Kalau sudah buat baru sebuah layout bernama view_custom_dialog.xml dan ubah kodenya menjadi seperti dibawah ini.
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41  | 
						<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"               android:orientation="vertical"               android:layout_width="match_parent"               android:layout_height="match_parent">     <EditText             android:layout_width="match_parent"             android:layout_height="wrap_content"             android:hint="Name"             android:layout_marginBottom="8dp"             android:inputType="textPersonName"/>     <EditText             android:layout_width="match_parent"             android:layout_height="wrap_content"             android:hint="Phone number"             android:inputType="number"/>     <LinearLayout             android:orientation="horizontal"             android:layout_width="match_parent"             android:layout_height="wrap_content">         <Button                 android:id="@+id/button_cancel"                 android:layout_width="0dp"                 android:layout_height="wrap_content"                 android:layout_weight="1"                 android:text="cancel"/>         <Button                 android:id="@+id/button_save"                 android:layout_width="0dp"                 android:layout_height="wrap_content"                 android:layout_weight="1"                 android:text="save"/>     </LinearLayout> </LinearLayout>  | 
					
Setelah itu, buka Activity java kalian dan ubah kodenya menjadi seperti dibawah ini. Di code ini saya membuat sebuah button, yang mana ketika button diklik maka custom dialog akan muncul. Untuk hal ini temen-temen dapat berkreasi sendiri bagaimana menampilkan custom dialog tersebut.
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67  | 
						package com.dicoding.costumdialog; import android.app.Dialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.DisplayMetrics; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.Toast; public class MainActivity extends AppCompatActivity {     private Button showDialogButton;     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         showDialogButton = (Button) findViewById(R.id.button_show_dialog);         showDialogButton.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 showCustomDialog();             }         });     }     private void showCustomDialog() {         final Dialog dialog = new Dialog(this);         //Mengeset judul dialog         dialog.setTitle("Add person");         //Mengeset layout         dialog.setContentView(R.layout.view_custom_dialog);         //Membuat agar dialog tidak hilang saat di click di area luar dialog          dialog.setCanceledOnTouchOutside(false);         //Membuat dialog agar berukuran responsive         DisplayMetrics metrics = getResources().getDisplayMetrics();         int width = metrics.widthPixels;         dialog.getWindow().setLayout((6 * width) / 7, LinearLayout.LayoutParams.WRAP_CONTENT);         Button cancelButton = (Button) dialog.findViewById(R.id.button_cancel);         Button saveButton = (Button) dialog.findViewById(R.id.button_save);         saveButton.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 Toast.makeText(MainActivity.this, "Data saved", Toast.LENGTH_SHORT).show();                 dialog.dismiss();             }         });         cancelButton.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {                 dialog.dismiss();             }         });         //Menampilkan custom dialog         dialog.show();     } }  | 
					
Selesai. Sekarang coba kamu Run dan lihat hasilnya.
Semoga bermanfaat ya, learners. Ingin belajar lebih banyak? Yuk langsung cek Dicoding Academy Belajar Membangun Aplikasi Android Native (www.dicoding.com/academies/26), materi yang dibuat oleh Google Developer Expert Indonesia.
Tunggu tips kami selanjutnya !
					