본문 바로가기
카테고리 없음

[Android]Compose에서의 ScroolView 및 이슈

by 디선 2024. 9. 22.

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의 범위를 지정하면 콘텐츠에 따라 높이가 유동적으로 조절됨.
  • XMLwrap_content와 같은 효과를 범위 내에서 얻을 수 있음.
반응형