728x90
1. show와 동시에 fullscreen
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val bottomSheetDialog = BottomSheetDialog(
requireContext(),
theme
) bottomSheetDialog . setOnShowListener { dialog ->
val bottomSheet =
(dialog as BottomSheetDialog).findViewById<FrameLayout>(com.google.android.material.R.id.design_bottom_sheet) BottomSheetBehavior . from (bottomSheet).state =
BottomSheetBehavior.STATE_EXPANDED BottomSheetBehavior . from (bottomSheet).skipCollapsed =
true BottomSheetBehavior . from (bottomSheet).isHideable = true
} return bottomSheetDialog
}
2. 터치와 드래그를 막아 뒤로 가기를 누르거나 따로 dismiss를 해주어야만 fragment가 종료되도록 구현 가능
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
return BottomSheetDialog(
requireContext(),
theme
).apply {
setOnShowListener {
window?.findViewById<View>(R.id.touch_outside)
?.setOnClickListener(null)(window?.findViewById<View>(R.id.design_bottom_sheet)?.layoutParams as CoordinatorLayout.LayoutParams).behavior =
null
}
}
}
Reference
728x90
'Dev > Android' 카테고리의 다른 글
[Android] Api 30부터 Async Task Deprecated 관련 기존 프로젝트 개선방안 강구 메모 (0) | 2020.11.02 |
---|---|
[Kotlin 기초] String 배열을 String으로 합치기 (0) | 2020.10.26 |
[Android] studio 전체찾기, 전체 Replace 방법 (+keymap 다를 경우) (0) | 2020.10.22 |
[Android] ViewPager 원하는 포지션 이동 (0) | 2020.10.21 |
[Android / Kakao] 카카오 링크 샘플 실행 시 app does not have DOMAIN_CHECK_PASS permission 오류 발생 (0) | 2020.10.20 |