저번 글에서는 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 영역(외부 영..
이번에 프로젝트를 진행하며 가장 힘들었던 BottomSheet의 높이를 조절하게된 과정을 소개하려고 한다. 내가 의견을 내서 사용하게된 Material 디자인의 BottomSheet 기능인데 이렇게 고된 길을 걷게 될 줄 몰랐다. 왜 BottomSheet height를 조절해야 하지? Customizing이 된 BottomSheet를 사용하기 위해 BottomSheetDialogFragment를 상속하여 만든 CustomBottomSheetDialogFragment 클래스를 만들었다. 그리고 막연하게 onCreateView에서 뷰를 바인딩해주고 실행해본 결과 계속 BottomSheet가 엄청 찔끔 올라왔다. 해당 화면을 캡쳐해두진 않아서 보여줄 순 없지만 화면 높이의 1/10정도..? 이유는 기본적으로 ..
DialogFragment를 사용하던 중 Positive, Negative Button의 텍스트 사이즈 조절이 필요해졌다. DialogFragment에서는 onCreateDialog에서 AlertDialog.Builder가 create한 AlertDialog를 리턴하는데 create 이전에 간단한 다이얼로그 생성하듯 setTitle, setMessage, setPositiveButton 등을 호출한다. 나는 여기서 setPositiveButtonTextSize와 같은 메소드가 있을 줄 알았지만 없었다. (그러니깐 이 글을 쓰고 있겠지만) 아래는 onCreateDialog 메소드를 사용한 gist이다. https://gist.github.com/BonusTrack02/a22f1ef8c29dae79e6fca..