Skip to content

Commit 50b646e

Browse files
committed
1 parent 0479c74 commit 50b646e

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

compose/snippets/src/main/java/com/example/compose/snippets/lists/LazyListSnippets.kt

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import androidx.compose.animation.core.Spring
2323
import androidx.compose.animation.core.spring
2424
import androidx.compose.animation.core.tween
2525
import androidx.compose.foundation.ExperimentalFoundationApi
26+
import androidx.compose.foundation.border
2627
import androidx.compose.foundation.horizontalScroll
2728
import androidx.compose.foundation.layout.Arrangement
2829
import androidx.compose.foundation.layout.Box
@@ -33,11 +34,14 @@ import androidx.compose.foundation.layout.fillMaxSize
3334
import androidx.compose.foundation.layout.fillMaxWidth
3435
import androidx.compose.foundation.layout.height
3536
import androidx.compose.foundation.layout.size
37+
import androidx.compose.foundation.layout.width
3638
import androidx.compose.foundation.layout.wrapContentHeight
39+
import androidx.compose.foundation.layout.wrapContentSize
3740
import androidx.compose.foundation.lazy.LazyColumn
3841
import androidx.compose.foundation.lazy.LazyRow
3942
import androidx.compose.foundation.lazy.grid.GridCells
4043
import androidx.compose.foundation.lazy.grid.GridItemSpan
44+
import androidx.compose.foundation.lazy.grid.LazyHorizontalGrid
4145
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
4246
import androidx.compose.foundation.lazy.grid.items
4347
import androidx.compose.foundation.lazy.items
@@ -58,6 +62,7 @@ import androidx.compose.runtime.rememberCoroutineScope
5862
import androidx.compose.runtime.saveable.rememberSaveable
5963
import androidx.compose.runtime.snapshotFlow
6064
import androidx.compose.ui.Modifier
65+
import androidx.compose.ui.graphics.Color
6166
import androidx.compose.ui.layout.ContentScale
6267
import androidx.compose.ui.tooling.preview.Preview
6368
import androidx.compose.ui.unit.Density
@@ -68,11 +73,11 @@ import androidx.paging.compose.itemKey
6873
import coil.compose.AsyncImage
6974
import coil.compose.rememberAsyncImagePainter
7075
import com.example.compose.snippets.util.randomSampleImageUrl
71-
import kotlin.random.Random
7276
import kotlinx.coroutines.flow.distinctUntilChanged
7377
import kotlinx.coroutines.flow.filter
7478
import kotlinx.coroutines.flow.map
7579
import kotlinx.coroutines.launch
80+
import kotlin.random.Random
7681

7782
private object ListsSnippetsColumn {
7883
// [START android_compose_layouts_list_column]
@@ -772,3 +777,29 @@ fun MessageList(modifier: Modifier = Modifier) {
772777
}
773778
}
774779
// [END android_compose_lists_snap_scroll_button]
780+
781+
// [START android_compose_layout_scrollable_grid]
782+
@Composable
783+
fun ScrollingGrid() {
784+
val itemsList = (0..15).toList()
785+
786+
val itemModifier = Modifier
787+
.border(1.dp, Color.Blue)
788+
.width(80.dp)
789+
.wrapContentSize()
790+
791+
LazyHorizontalGrid(
792+
rows = GridCells.Fixed(3),
793+
horizontalArrangement = Arrangement.spacedBy(16.dp),
794+
verticalArrangement = Arrangement.spacedBy(16.dp)
795+
) {
796+
items(itemsList) {
797+
Text("Item is $it", itemModifier)
798+
}
799+
800+
item {
801+
Text("Single item", itemModifier)
802+
}
803+
}
804+
}
805+
// [END android_compose_layout_scrollable_grid]

0 commit comments

Comments
 (0)