FragmentDialog with DataBinding

burndown·2022년 2월 15일
0

TIL

목록 보기
1/1
package com.example.wether_app.dialog

import android.app.AlertDialog
import android.app.Dialog
import android.content.DialogInterface
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.Window
import android.widget.Button
import androidx.activity.result.contract.ActivityResultContracts
import androidx.databinding.DataBindingUtil
import androidx.fragment.app.DialogFragment
import com.example.wether_app.R
import com.example.wether_app.databinding.PermissionDialogBinding

class PermissionDialog : DialogFragment() {

    lateinit var binding: PermissionDialogBinding

    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
        return activity?.let {
            val builder = AlertDialog.Builder(it)
            val inflater = requireActivity().layoutInflater
            binding = DataBindingUtil.inflate(inflater, R.layout.permission_dialog, null, false )

            binding.allowLocation.setOnClickListener {
                Log.d("weather-app", "Binding - allowLocation Call")
            }
            return builder.setView(binding.root).create()
        } ?: throw IllegalStateException("Activity cannot be null")
    }

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
 		dialog?.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
        dialog?.window?.requestFeature(Window.FEATURE_NO_TITLE)

        return binding.root
    }

}
profile
어떤 서비스든 만들어내는 개발자

0개의 댓글