문제 상황 ViewModel에서 서버에 요청을 보낸 후 받아온 응답을 State에 반영하였을 때,Recomposition은 발생하는데 UI에는 데이터가 표시되지 않는 이슈가 있었습니다. MainActivity.kt먼저 MainScreen에선 아래와 같이 LazyColumn 내에 여러 레이아웃이 item으로 들어가는 구조입니다.Mutli ViewType RecycleView 처럼 구성 되어있습니다.@Composablefun MainScreen(state: MainState) { Log.d("MainScreen", "Top chart list: ${state.topChartList}") Scaffold( containerColor = WePLiTheme.color.black, ..
문제 상황Jetpack Compose에서 LazyRow를 사용하다 보면 각 아이템의 높이에 따라 LazyRow의 전체 높이가 변경되는 상황을 종종 겪게 됩니다. 특히 아래 스크린샷 같이, 제목이 한 줄 또는 두 줄로 구성되어 있을 때, 두 줄인 항목의 높이에 맞춰서 LazyRow가 고정될 것이라고 예상합니다. 하지만 사용자가 스크롤하여 해당 항목이 화면에서 사라지면 LazyRow의 높이가 줄어드는 현상이 발생합니다. 해결 방안이를 해결하기 위해선 LazyRow의 전체 높이를 아이템 중 가장 큰 높이에 맞추어야 합니다.가장 큰 높이의 항목을 기준으로 LazyRow의 높이를 고정하기 위해 SubComposeLayout을 이용합니다. SubComposableLayout은 레이아웃을 그리는 과정에서 다른 레이아..