Fragment에서 DialogFragment를 띄울려고 한다.
버튼을 눌렀을 때 동작하도록 구현해보고자 한다.
참고로 viewbinding을 사용해서 구현하였다.
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.btnDialog.setOnClickListener {
val dialog = DialogFragment()
dialog.show(requireActivity().supportFragmentManager, "DialogFragment")
}
}
override fun onCreate(saveInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//false로 설정해주면 화면 밖 혹은 뒤로가기 시 dismiss되지 않는다.
inCancelable = true
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
_binding = FragmentDialogBinding.inflate(inflater, container, false)
// 배경은 투명도80의 검정색으로 설정
dialog?.window?.setBackgroundDrawableResource(R.color.trans80_black)
return binding.root
}