はじめに
Android Jetpack Composeで、ヘッダー + 複数列アイテムビューを同時スクロールさせる方法について解説。
方法
複数列アイテムビュー描画のために、LazyVerticalGrid
を用いる。
ヘッダーもスクロールさせたいので、LazyVerticalGrid
内にヘッダーを記述するのがポイント。
LazyVerticalGrid( columns = GridCells.Fixed(3), modifier = Modifier.padding(innerPadding), ) { // ここにヘッダーを記述 items( count = 1, span = { GridItemSpan(3) } //列の数と同じにする ) { Text( text = "Header", fontSize = 28.sp, modifier = Modifier .background(color = getRandomColor()) .padding(28.dp), textAlign = TextAlign.Center ) } // ここにアイテムを記述 items(60) { Text( text = "Item", fontSize = 28.sp, modifier = Modifier .background(color = getRandomColor()) .padding(28.dp), textAlign = TextAlign.Center ) } }
その他の方法
FlowRowを用いる方法もある。