일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- recyclerview
- ui test
- ActivityTestRule
- Fragment 수동 추가
- high order function
- 코딜리티
- adapter
- 재사용
- 코틀린
- 생명주기
- 안드로이드개발레벨업교과서
- 구분선
- Error:Execution failed for task ':app:mergeDebugResources'
- espresso
- 스와이프
- 고차함수
- viewholder
- Fragment에서 Activity의 함수 사용하기
- 뷰변경 감지
- fragment
- 안드로이드13
- searchview
- 리사이클러뷰
- 테마 아이콘
- IntentTestRule
- binding adapter
- Android
- 안드로이드
- LayoutManger
- 안드로이드스튜디오
Archives
- Today
- Total
룬아님의 취중코딩
BottomSheetDialogFragment full screen 으로 show 하는 방법 본문
botBottomSheetDialogFragment를 show하면 fragment가 하단 30%정도로 올라오고 드래그해서 full screen 상태로 만들 수 있다.
하지만 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
}
그때 onCreateDialog를 override하고 바텀 시트 state를 STATE_EXPANDED로 변경한다.
state에 의해서 바텀시트의 화면 점유 정도가 바뀌기 때문에 STATE_EXPANDED에 의해 드래그 해서 확장된 상태로 바로 보여진다.
또한 밑의 skipCollapsed를 true로 변경하면 아래쪽으로 드래그하여 프래그먼트를 종료할 때 접히는 구간을 스킵하고 바로 닫힌다.
다만 천천히 접히는 구간까지 내렸을 때 스킵하지 못하는 문제가 있다.
https://medium.com/@guneetgstar/bottomsheetdialogfragment-made-simpler-b32fa8e20928
반응형
'개발 > 안드로이드 개발' 카테고리의 다른 글
TaskStackBuilder 사용 시 이전 task는 어떻게 될까? (0) | 2020.01.17 |
---|---|
BottomSheetDialogFragment 드래그 되지 않게 막는 방법 (0) | 2020.01.16 |
BottomSheetDialogFragment에 argument 넘기는 방법 (0) | 2020.01.16 |
java.lang.IllegalArgumentException: baseUrl must end in / (1) | 2020.01.07 |
(Dagger2) Service에서 dagger 사용하기 (0) | 2019.12.31 |
Comments