LazyColumn 내부에서 LazyVerticalGrid 높이 문제 해결
1.상황 설명
LazyColumn
내부에LazyVerticalGrid
를 사용했을 때, 높이를 지정하지 않으면 제대로 조정되지 않는 문제 발생.- 고정된 높이를 줄 수 없는 유동적인 값이 들어갈 때 발생하는 문제.
2.문제 코드 예시
LazyColumn(
modifier = modifier,
) {
item { myColumn1() }
item { myColumn2() }
item { myColumn3() }
}
3.원인
LazyVerticalGrid
는 콘텐츠의 높이가 유동적인 경우, 고정된 높이를 설정하지 않으면 레이아웃이 깨질 수 있음.
4.해결 방법
heightIn
으로LazyVerticalGrid
의 최소/최대 높이를 설정하여wrap_content
와 유사한 동작 구현.
5.수정된 코드 예시
LazyVerticalGrid(
columns = GridCells.Fixed(3),
modifier = Modifier.fillMaxWidth()
.heightIn(min = 0.dp, max = 400.dp)
)
6.결론
heightIn
을 사용해LazyVerticalGrid
의 범위를 지정하면 콘텐츠에 따라 높이가 유동적으로 조절됨.XML
의wrap_content
와 같은 효과를 범위 내에서 얻을 수 있음.
반응형