BottomSheet

Android

Android BottomSheet Material Theme 적용하기

오늘은 바텀시트에 이미 프로젝트에 적용되어있던 Material3 테마를 적용해본 내용을 적어본다. 먼저, 내 상황은 이렇다. 프로젝트에 Material3 테마로 색상이 정의되어 있었다. 바텀시트는 커스터마이징을 위해 별도 클래스로 작성되어 있다. (BottomSheetDialogFragment를 상속받고 있다.) 바텀시트의 버튼은 Material3 테마를 사용하지 않고 AppCompat 테마를 사용한다. 또, 프로젝트 테마의 parent는 Theme.Material3.Light.NoActionBar이다.(라이트 모드 기준) 여기서 문제가 되는 지점은 바텀시트의 parent를 누구로 지정해야 하는가 이다. BottomSheet라 검색하면 굉장히 많은 테마가 검색되는데 답을 먼저 말하면 Theme.Mater..

Android

Android BottomSheetDialogFragment Scrim 영역 터치 동작

저번 글에서는 BottomSheet의 높이를 조절했다. 이번에는 BottomSheet Scrim 영역(외부 영역)을 터치 시 BottomSheet가 내려가지 않도록 해보겠다. 코드를 설명하기 앞서 이런 동작을 유도한 이유가 있는데 BottomSheet에는 2가지 종류가 있다. Standard bottom sheet, Modal bottom sheet이다. https://m3.material.io/components/bottom-sheets/guidelines (Material design 공식 사이트 설명이다) 공식 사이트를 보면 Modal 방식의 바텀 시트는 Standard 방식과 달리 다이얼로그처럼 앱 컨텐츠 영역 앞에 보이게 되고 다른 앱 기능을 일시적으로 제한한다. 그래서 Scrim 영역(외부 영..

Android

Android BottomSheetDialogFragment Height 조절하기

이번에 프로젝트를 진행하며 가장 힘들었던 BottomSheet의 높이를 조절하게된 과정을 소개하려고 한다. 내가 의견을 내서 사용하게된 Material 디자인의 BottomSheet 기능인데 이렇게 고된 길을 걷게 될 줄 몰랐다. 왜 BottomSheet height를 조절해야 하지? Customizing이 된 BottomSheet를 사용하기 위해 BottomSheetDialogFragment를 상속하여 만든 CustomBottomSheetDialogFragment 클래스를 만들었다. 그리고 막연하게 onCreateView에서 뷰를 바인딩해주고 실행해본 결과 계속 BottomSheet가 엄청 찔끔 올라왔다. 해당 화면을 캡쳐해두진 않아서 보여줄 순 없지만 화면 높이의 1/10정도..? 이유는 기본적으로 ..

BonusTrack02.dev
'BottomSheet' 태그의 글 목록