Dialog adalah jendela kecil yang muncul diatas sebuah activity untuk memberikan informasi, meminta keputusan ataupun input data tertentu dari user. Dioalog tidak mengisi ruang layar secara penuh tapi berada di tengah layar dan menimpa activity konteksnya(pen: Acitvity terakhir yang tampil). Berikut contoh dari komponen Dialog pada android.
Pada artikel ini saya mengasumsikan bahwa sobat sekalian sudah dapat membuat Dialog. Oleh karena pada artikel ini tidak akan dijelaskan tahapan dalam pembuatan dialognya. Saya akan langsung ke pembahasan yaitu tutorial membuat base dialog di aplikasi android.
Baca Juga : Tutorial Cara membuat Base Activity
Tujuan
Kenapa harus bikin base dialog?. Sebenarnya tidak masalah jika kamu hanya membuat satu dialog saja di aplikasi yang sedang kamu buat, kamu bisa langsung mengextend DialogFragment ke class dialog yang sedang kamu buat. Tapi bagaimana jika kamu membuat banyak sekali dialog, dengan fungsi-fungsi yang hampir mirip didalamnya?. Tentu cara yang paling efisien adalah membuat semua fitur-fiturnya dalam satu class base kemudian kita extend class basenya ke class dialog kita, selain itu kita juga bisa mengkotumisasi basenya agar lebih mudah di implimentasikan. Nah itu tujuannya kenapa kita harus bikin class base.
Penulisan Code
1. Buat sebuah package folder dengan nama base
2. Buat sebuah class bernama BaseDialog didalam folder package base tadi, disini kita akan menggunakan kotlin karena lebih mudah.
Beri nama BaseDialog dan pilih tipe Class kemudian OK
3. Didalam class BaseDialog tadi silahkan kalian tulis code berikut,
package com.zain.tutorialgson.base
import android.app.Dialog
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.os.Bundle
import android.support.v4.app.DialogFragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.Window
import android.widget.RelativeLayout
abstract class BaseDialog : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val root = RelativeLayout(activity)
root.layoutParams = ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
)
var dialog = Dialog(context!!)
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
dialog.setContentView(root)
if (dialog.window != null) {
dialog.window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
dialog.window!!.setLayout(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
)
}
dialog.setCanceledOnTouchOutside(false)
return dialog
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(setLayout(), container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
initDialog()
}
//----------SetUp------------------------------
abstract fun setLayout(): Int
abstract fun initDialog()
//-------Buat fungsi-fungsi kalian dibawah sini--------
//Memanggil Toast menjadi lebih sederhana
fun showToast(message :String) {
Toast.makeText(this.context,message,Toast.LENGTH_LONG)
}
}
PenjelasanDisini kita membuat class BaseDialognya menjadi abstract class agar tidak bisak langsung di implementasikan. Pada basedialog tersebut kita menggunakan tiga callback dari dialog yaitu onCreateDialog, onCreatedView dan onCreatedActivity. Pada onCreateDialog kita mengatur seperti apa tampilan umum dari dialognya, seperti background, ukuran dan lainnya. Pada onCreatedView kita coba mengatur cara menset layout.xml nya yaitu dengan methode abstract setLayout. Pada onActivityCreated disini kita memanggil methode abstract iniDialog sebagai tempat inisialisai varible dan methodenya di class dialog turunan. Methode showToast adalah cara menampilkan toast dengan lebih sederhana
Cara Penggunaan
Cara penggunaannya sangat mudah, yaitu dengan mengganti inheritance dari dialognya menjadi BaseDialog, codenya sebagai berikut
Sekian dulu tutorial kali cara membuat base dialog di android. Terimakasih sudah mampir, jangan lupa di share jika kalian merasa artikel ini bermanfaat, kalau ada pertanyaan silahkan tulis di kolom komentar. Good luck!
package com.zain.tutorialgson.base
import com.zain.tutorialgson.R
//class PopUpDialog :DialogFragment()
//Ganti inheritancenya
class PopUpDialog :BaseDialog() {
override fun setLayout(): Int = R.layout.dialog_layout
override fun initDialog() {
//Tulis kodingmu disini
showToast("Dialog Berhasil dibuat")
}
}
Baca Juga : Tutorial Cara membuat Base Fragment
0 Komentar untuk " Tutorial Membuat Base Dialog Di Aplikasi Android"
Silahkan berkomentar dengan baik dan bijak!