android 自定义撰写排列,在LazyRow/LazyColumn的开头和结尾添加额外的间距

rt4zxlrg  于 2022-11-27  发布在  Android
关注(0)|答案(2)|浏览(197)

如何为LazyRow创建一个自定义Arrangement,以便在开始和结束处添加额外的间距,但在中间具有均匀的间距?
启动时间|〈more space〉第1项第2项最后一项|结束日期

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

rjee0c15

rjee0c151#

这不是你问题的答案,但你可以通过添加页眉和页脚项,或者使用水平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))
    }
}

q43xntqr

q43xntqr2#

也许您可以使用LazyRow的其中一个参数来获得所需的效果:内容填充=填充值(horizontal =“您的值”)

相关问题