[Android] Fragment에서 DialogFragment 띄우기

MJ·2023년 3월 16일
0

Android

목록 보기
2/8
post-thumbnail

Fragment에서 DialogFragment를 띄울려고 한다.

버튼을 눌렀을 때 동작하도록 구현해보고자 한다.
참고로 viewbinding을 사용해서 구현하였다.

Fragment

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
	super.onViewCreated(view, savedInstanceState)
    binding.btnDialog.setOnClickListener {
    	val dialog = DialogFragment()
        dialog.show(requireActivity().supportFragmentManager, "DialogFragment")
    }
}

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
}

0개의 댓글