방대한 문서보다 동작하는 소프트웨어

Android Compose 2

[안드로이드] Compose 바텀시트에서의 스크롤 문제

커스텀 BottomSheetDialogFragment 안에 ComposeView 를 선언하고 스크롤 가능한 리스트를 표출해야 할 때가 있습니다. 이 때 스크롤에 문제가 발생합니다. 아래로 스크롤 하면 바텀시트도 함께 내려가는 현상입니다. 필자는, 커스텀 BottomSheetDialogFragment 내에 검색을 위한 BasicTextField 를 상단에, 검색 결과를 표출하는 LazyColumn 을 하단에 배치하여 개발하면서 스크롤 문제 겪었습니다. 이 현상을 해결하기 위해선 rememberNestedScrollInteropConnection API 를 사용해야 합니다. 수정자에 API를 선언해 주기만 하면 쉽게 해결할 수 있습니다. HTML 삽입 미리보기할 수 없는 소스 rememberNestedScr..

개발 2022.11.17

[안드로이드 컴포즈] 한 화면에서 BottomSheet 여러개 사용하기

컴포즈에선 ModalBottomSheetLayout 을 사용해 BottomSheet를 구현합니다. 이 때 ModalBottomSheetState 는 필수입니다. BottomSheet의 상태(show, hide)를 제어하는 부분이기 때문입니다. 우리는, 한 화면에서 서로 다른 BottomSheet를 여러개 사용하면서 ModalBottomSheetState 를 여러개 선언하여 사용하는 실수를 할 수 있습니다. ModalBottomSheetState 를 하나만 사용하기 위해선 ModalBottomSheetLayout의 sheetContent 안에 조건을 넣어 UI 를 구성해 주면 됩니다. { val scope = rememberCoroutineScope() val (selected, setSelected) =..

개발 2022.11.04