如何为 LazyRow
创建自定义 Arrangement
以在开头和结尾添加额外的间距,但中间的间距均匀?
开始|<更多空间> Item 1 Item 2 Last Item |End
object CustomArrangement : Arrangement.Horizontal {
override fun Density.arrange(
totalSize: Int,
sizes: IntArray,
layoutDirection: LayoutDirection,
outPositions: IntArray
) {
}
}
https://developer.android.com/jetpack/compose/lists#custom-arrangements
最佳答案
这不是您问题的答案,但您可以通过添加页眉和页脚项目或使用水平 PaddingValues
来实现相同的效果。
一个简单的LazyRow
:
LazyRow(
horizontalArrangement = Arrangement.spacedBy(8.dp),
contentPadding = PaddingValues(horizontal = 50.dp),
modifier= Modifier.fillMaxSize(),
) {
items(itemsList) {
Text("Item is $it")
}
}
或类似的东西:
LazyRow(
horizontalArrangement = Arrangement.spacedBy(8.dp),
modifier= Modifier.fillMaxSize()
) {
//Header
item(){
Spacer(modifier = Modifier.width(40.dp))
}
items(itemsList) {
Text("Item is $it")
}
//Footer
item(){
Spacer(modifier = Modifier.width(40.dp))
}
}
关于android - 自定义 Compose Arrangement 以在 LazyRow/LazyColumn 的开头和结尾添加额外的间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74562040/