지연 로드 그리드를 사용하여 대용량 데이터 세트와 동적 콘텐츠를 관리하여 앱 성능을 개선할 수 있습니다. 지연 그리드 컴포저블을 사용하면 여러 열 또는 행에 걸쳐 스크롤 가능한 컨테이너에 항목을 표시할 수 있습니다.
버전 호환성
이 구현을 사용하려면 프로젝트 minSDK를 API 수준 21 이상으로 설정해야 합니다.
종속 항목
그리드 방향 결정
LazyHorizontalGrid
및 LazyVerticalGrid
컴포저블은 그리드에 항목을 표시하도록 지원합니다. 지연 세로 그리드는 여러 열에 걸쳐 세로로 스크롤 가능한 컨테이너에 항목을 표시하는 반면, 지연 가로 그리드는 가로축을 중심으로 동일하게 동작합니다.
스크롤 가능한 그리드 만들기
다음 코드는 3개의 열이 있는 가로 스크롤 그리드를 만듭니다.
@Composable fun ScrollingGrid() { val itemsList = (0..15).toList() val itemModifier = Modifier .border(1.dp, Color.Blue) .width(80.dp) .wrapContentSize() LazyHorizontalGrid( rows = GridCells.Fixed(3), horizontalArrangement = Arrangement.spacedBy(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp) ) { items(itemsList) { Text("Item is $it", itemModifier) } item { Text("Single item", itemModifier) } } }
코드 관련 핵심 사항
LazyHorizontalGrid
컴포저블은 그리드의 가로 방향을 결정합니다.- 세로 그리드를 만들려면 대신
LazyVerticalGrid
을 사용하세요.
- 세로 그리드를 만들려면 대신
rows
속성은 그리드 콘텐츠를 배치하는 방법을 지정합니다.- 세로 그리드의 경우
columns
속성을 사용하여 배열을 지정합니다.
- 세로 그리드의 경우
items(itemsList)
:LazyHorizontalGrid
에itemsList
를 추가합니다. 람다 함수는 각 항목에 대해Text
컴포저블을 렌더링하고 텍스트를 항목 설명으로 설정합니다.item()
는LazyHorizontalGrid
에 단일 항목을 추가하는 반면 람다는items()
와 유사한 방식으로 단일Text
컴포저블을 렌더링합니다.GridCells.Fixed
: 행 또는 열 수를 정의합니다.최대한 많은 행으로 그리드를 만들려면
GridCells.Adaptive
를 사용하여 행 수를 설정하세요.다음 코드에서
20.dp
값은 모든 열이 20.dp 이상이고 모든 열의 너비가 동일하다고 지정합니다. 화면의 너비가 88.dp이면 열이 4개 있고 각각 22.dp입니다.
결과
LazyHorizontalGrid
를 사용하여 가로 스크롤 가능한 그리드이 가이드가 포함된 컬렉션
이 가이드는 더 광범위한 Android 개발 목표를 다루는 선별된 빠른 가이드 모음의 일부입니다.
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=ko)
목록 또는 그리드 표시
목록과 그리드를 사용하면 앱에서 사용자가 쉽게 소비할 수 있는 시각적으로 만족스러운 형식으로 컬렉션을 표시할 수 있습니다.
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=ko)
대화형 구성요소 표시
구성 가능한 함수를 사용하여 Material Design 디자인 시스템을 기반으로 멋진 UI 구성요소를 쉽게 만드는 방법을 알아보세요.
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=ko)
Compose 기초 (동영상 모음)
이 동영상 시리즈에서는 다양한 Compose API를 소개하고 사용 가능한 API와 사용 방법을 빠르게 보여줍니다.
질문이나 의견이 있으신가요?
자주 묻는 질문(FAQ) 페이지로 이동하여 빠른 가이드를 알아보거나 문의하여 의견을 보내주세요.