@@ -23,6 +23,7 @@ import androidx.compose.animation.core.Spring
23
23
import androidx.compose.animation.core.spring
24
24
import androidx.compose.animation.core.tween
25
25
import androidx.compose.foundation.ExperimentalFoundationApi
26
+ import androidx.compose.foundation.border
26
27
import androidx.compose.foundation.horizontalScroll
27
28
import androidx.compose.foundation.layout.Arrangement
28
29
import androidx.compose.foundation.layout.Box
@@ -33,11 +34,14 @@ import androidx.compose.foundation.layout.fillMaxSize
33
34
import androidx.compose.foundation.layout.fillMaxWidth
34
35
import androidx.compose.foundation.layout.height
35
36
import androidx.compose.foundation.layout.size
37
+ import androidx.compose.foundation.layout.width
36
38
import androidx.compose.foundation.layout.wrapContentHeight
39
+ import androidx.compose.foundation.layout.wrapContentSize
37
40
import androidx.compose.foundation.lazy.LazyColumn
38
41
import androidx.compose.foundation.lazy.LazyRow
39
42
import androidx.compose.foundation.lazy.grid.GridCells
40
43
import androidx.compose.foundation.lazy.grid.GridItemSpan
44
+ import androidx.compose.foundation.lazy.grid.LazyHorizontalGrid
41
45
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
42
46
import androidx.compose.foundation.lazy.grid.items
43
47
import androidx.compose.foundation.lazy.items
@@ -58,6 +62,7 @@ import androidx.compose.runtime.rememberCoroutineScope
58
62
import androidx.compose.runtime.saveable.rememberSaveable
59
63
import androidx.compose.runtime.snapshotFlow
60
64
import androidx.compose.ui.Modifier
65
+ import androidx.compose.ui.graphics.Color
61
66
import androidx.compose.ui.layout.ContentScale
62
67
import androidx.compose.ui.tooling.preview.Preview
63
68
import androidx.compose.ui.unit.Density
@@ -772,3 +777,29 @@ fun MessageList(modifier: Modifier = Modifier) {
772
777
}
773
778
}
774
779
// [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