Mode Malam
| Mode Tampilan
Penulis : admin

Home / Programming / Tutorial Membuat Base Dialog Di Aplikasi Android
Tutorial Membuat Base Dialog Di Aplikasi Android

Tutorial Membuat Base Dialog Di Aplikasi Android


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.

Tutorial Membuat Base Dialog Di Aplikasi 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

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.

advertisement

Oke kita langsung saja ketutorialnya

  1. Buat sebuah package folder dengan nama base
    Tutorial Membuat Base Dialog Di Aplikasi Android
  2. Buat sebuah class bernama BaseDialog didalam folder package base tadi, disini kita akan menggunakan kotlin karena lebih mudah.
    Tutorial Membuat Base Dialog Di Aplikasi Android
    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)
        }
    }

    Penjelasan
    Disini 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 method abstract iniDialog sebagai tempat inisialisai varible dan methodenya di class dialog turunan. Method showToast adalah cara menampilkan toast dengan lebih sederhana.

advertisement

Cara menggunakan class BaseDialog yang sudah kita buat tadi, yaitu dengan mengganti inheritance dari dialog kita menjadi BaseDialog, codenya sebagai berikut,

class MyDialog: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

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!

Tags: #android #dialog #kotlin
Bagikan :

Komentar:

Silahkan berkomentar dengan baik dan bijak!

Name * :
Email :
Website :
Comment :


This website uses cookies to ensure you get the best experience on our website

learn more