상단에 Collapsable한 뷰가 필요해서 CoordinatorLayout을 사용했는데
리스트를 RecyclerView로 만들고싶지는 않아서
LazyColumn과 함께 사용할 수 있도록 하려면 어떻게 해야할까 고민해보았다.
app:layout_behavior로 ScrollingViewBehavior를 갖는 ComposeView를 사용하면 된다.
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBar"
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="@null"
app:elevation="0dp">
<com.google.android.material.appbar.CollapsingToolbarLayout ... />
</com.google.android.material.appbar.AppBarLayout>
<androidx.compose.ui.platform.ComposeView
android:id="@+id/frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
LazyColumn에서 nestedScroll 설정해주는것도 잊지말자
val nestedScroll = rememberNestedScrollInteropConnection()
LazyColumn(
modifier = Modifier
.nestedScroll(nestedScroll)
) {
//Your Code
}
'Android(Kotlin)' 카테고리의 다른 글
Animation Resource xml에서 Easing 적용하기! (0) | 2023.10.27 |
---|---|
Compose에서 Modifier.alpha() 적용 후 뷰가 clip되는 문제 해결 (0) | 2023.09.14 |
자주쓰는 라이브러리 implementation 정리 (그때 그때 추가 예정) (0) | 2023.08.11 |
심기일전 코틀린! - 예제 코드와 같이 Hilt + Retrofit2 이해하기 (0) | 2023.07.28 |
심기일전 코틀린! 04. Hilt (Dependency Injection) (0) | 2023.07.26 |