[Jetpack Compose] LazyColumn에서 스크롤 방향을 감지해보자
·
Android
동기특정 컴포저블을 스크롤을 내릴 때는 안 보이게 하고, 스크롤을 올릴 때만 보이게 하고 싶었어요! listState를 살펴보자!LazyColumn의 장점이 무엇일까요?item이 화면에 보일 때, 보이지 않을 때를 감지하여 최적화된 렌더링을 제공한다는 점이에요. item이 보인다/보이지 않는다는 listState의 firstVisibleItemIndex로 확인할 수 있어요.💡firstVisibleItemIndex현재 화면의 맨 위에 위치한 아이템의 인덱스를 저장한다.firstVisibleItemIndex에 해당하는 아이템이 화면에서 완전히 보이지 않게 되면 업데이트된다. 그런데, item이 완전히 보인다/보이지 않는다는 정보만으로는 디테일한 컨트롤이 어려워요.item이 화면에 얼마만큼 보이는지는 fir..
[Jetpack Compose] Sticky Header를 직접 구현해보자 (스크롤 시 플로팅 띄우기)
·
Android
동기저는 지금 지그재그라는 앱을 클론 코딩하고 있어요!사유는.. 쇼핑몰 앱을 만들어보고 싶어서입니다 (너무 당연하다) 아무튼 제가 마주한 과제는 스티키 헤더!Lazy Column 레이아웃 안에 배치되어 있다가, 아래로 스크롤을 내려 해당 아이템을 지나면그 시점부터 상단에 붙어 동동 떠있게 되는 UI 입니다. 쉬운 길도 있어요 (^///^)📝 Jetpack Compose는 stickyHeader를 지원해요 사용 방법은 정말 쉽습니다!`item` 대신 `stickHeader`로 감싸주면 돼요.@OptIn(ExperimentalFoundationApi::class)@Composablefun ListWithHeader(items: List) { LazyColumn { stickyHeader..