@ComposablefunScrollingGrid(){valitemsList=(0..15).toList()valitemModifier=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)}}}
[null,null,["上次更新時間:2025-02-06 (世界標準時間)。"],[],[],null,["\u003cbr /\u003e\n\nYou can manage large datasets and dynamic content with lazy grids, improving app\nperformance. With lazy grid composables, you can display items in a scrollable\ncontainer, spanned across multiple columns or rows.\n\nVersion compatibility\n\nThis implementation requires that your project minSDK be set to API level 21 or\nhigher.\n\nDependencies\n\nDecide grid orientation\n\nThe [`LazyHorizontalGrid`](/reference/kotlin/androidx/compose/foundation/lazy/grid/package-summary#LazyHorizontalGrid(androidx.compose.foundation.lazy.grid.GridCells,androidx.compose.ui.Modifier,androidx.compose.foundation.lazy.grid.LazyGridState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Horizontal,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,kotlin.Function1)) and [`LazyVerticalGrid`](/reference/kotlin/androidx/compose/foundation/lazy/grid/package-summary#LazyVerticalGrid(androidx.compose.foundation.lazy.grid.GridCells,androidx.compose.ui.Modifier,androidx.compose.foundation.lazy.grid.LazyGridState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.foundation.layout.Arrangement.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,kotlin.Function1)) composables provide\nsupport for displaying items in a grid. A lazy vertical grid displays its items\nin a vertically scrollable container, spanned across multiple columns, while\nlazy horizontal grids have the same behavior on the horizontal axis.\n\nCreate a scrollable grid\n\nThe following code creates a horizontal scrolling grid with three columns:\n\n\n```kotlin\n@Composable\nfun ScrollingGrid() {\n val itemsList = (0..15).toList()\n\n val itemModifier = Modifier\n .border(1.dp, Color.Blue)\n .width(80.dp)\n .wrapContentSize()\n\n LazyHorizontalGrid(\n rows = GridCells.Fixed(3),\n horizontalArrangement = Arrangement.spacedBy(16.dp),\n verticalArrangement = Arrangement.spacedBy(16.dp)\n ) {\n items(itemsList) {\n Text(\"Item is $it\", itemModifier)\n }\n\n item {\n Text(\"Single item\", itemModifier)\n }\n }\n}https://github.com/android/snippets/blob/7a0ebbee11495f628cf9d574f6b6069c2867232a/compose/snippets/src/main/java/com/example/compose/snippets/lists/LazyListSnippets.kt#L835-L857\n```\n\n\u003cbr /\u003e\n\nKey points about the code\n\n- The `LazyHorizontalGrid` composable determines the horizontal orientation of the grid.\n - To create a vertical grid, use the `LazyVerticalGrid` instead.\n- The `rows` property specifies how to arrange the grid content.\n - For a vertical grid, use the `columns` property to specify the arrangement.\n- [`items(itemsList)`](/reference/kotlin/androidx/compose/foundation/lazy/LazyListScope#items(kotlin.Int,kotlin.Function1,kotlin.Function1,kotlin.Function2)) adds `itemsList` to `LazyHorizontalGrid`. The lambda renders a [`Text`](/reference/kotlin/androidx/compose/material/package-summary#Text(androidx.compose.ui.text.AnnotatedString,androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.TextUnit,androidx.compose.ui.text.font.FontStyle,androidx.compose.ui.text.font.FontWeight,androidx.compose.ui.text.font.FontFamily,androidx.compose.ui.unit.TextUnit,androidx.compose.ui.text.style.TextDecoration,androidx.compose.ui.text.style.TextAlign,androidx.compose.ui.unit.TextUnit,androidx.compose.ui.text.style.TextOverflow,kotlin.Boolean,kotlin.Int,kotlin.Int,kotlin.collections.Map,kotlin.Function1,androidx.compose.ui.text.TextStyle)) composable for each item and set the text to the item description.\n- [`item()`](/reference/kotlin/androidx/compose/foundation/lazy/LazyListScope#item(kotlin.Any,kotlin.Any,kotlin.Function1)) adds a single item to `LazyHorizontalGrid` while the lambda renders a single `Text` composable in a similar manner to `items()`.\n- [`GridCells.Fixed`](/reference/kotlin/androidx/compose/foundation/lazy/grid/GridCells.Fixed) defines the number of rows or columns.\n- To create a grid with as many rows as possible, set the number of rows using\n [`GridCells.Adaptive`](/reference/kotlin/androidx/compose/foundation/lazy/grid/GridCells.Adaptive).\n\n In the following code, the `20.dp` value\n specifies that every column is at least 20.dp, and all columns have equal\n widths. If the screen is 88.dp wide, there are 4 columns at 22.dp each.\n\nResults\n\n\u003cbr /\u003e\n\n**Figure 1.** A horizontal scrollable grid using `LazyHorizontalGrid`.\n\n\u003cbr /\u003e\n\nCollections that contain this guide\n\nThis guide is part of these curated Quick Guide collections that cover\nbroader Android development goals: \n\nDisplay a list or grid \nLists and grids allow your app to display collections in a visually pleasing form that's easy for users to consume. \n[Quick guide collection](/develop/ui/compose/quick-guides/collections/display-a-list-or-grid) \n\nDisplay interactive components \nLearn how composable functions can enable you to easily create beautiful UI components based on the Material Design design system. \n[Quick guide collection](/develop/ui/compose/quick-guides/collections/display-interactive-components) \n\nCompose basics (video collection) \nThis series of videos introduces various Compose APIs, quickly showing you what's available and how to use them. \n[Quick guide collection](/develop/ui/compose/quick-guides/collections/compose-basics) \n\nHave questions or feedback \nGo to our frequently asked questions page and learn about quick guides or reach out and let us know your thoughts. \n[Go to FAQ](/quick-guides/faq) [Leave feedback](https://issuetracker.google.com/issues/new?component=1573691&template=1993320)"]]