gpt4 book ai didi

android - Jetpack Compose LazyColumn 的 ItemDecoration 是什么?

转载 作者:行者123 更新时间:2023-12-03 21:08:56 31 4
gpt4 key购买 nike

在 JetpackCompose 中,我们可以使用 LazyColumnForRecyclerView .
RecyclerView ,要在项目之间有适当的边距/填充,我们需要使用 ItemDecoration , 根据这个 article
像下面

class MarginItemDecoration(private val spaceHeight: Int) : RecyclerView.ItemDecoration() {
override fun getItemOffsets(outRect: Rect, view: View,
parent: RecyclerView, state: RecyclerView.State) {
with(outRect) {
if (parent.getChildAdapterPosition(view) == 0) {
top = spaceHeight
}
left = spaceHeight
right = spaceHeight
bottom = spaceHeight
}
}
}
对于 JetpackCompose LazyColumnFor ,相当于 ItemDecoration ?

最佳答案

您可以使用 Arrangement.spacedBy() 在项目之间添加间距。
就像是:

LazyColumn(
verticalArrangement = Arrangement.spacedBy(8.dp),
) {
// ...
}
下面的示例添加了 8.dp每个项目之间的空间
之前和之后:
enter image description here
enter image description here
如果你想在内容的边缘添加填充,你可以使用 contentPadding 范围。
  LazyColumn(
verticalArrangement = Arrangement.spacedBy(8.dp),
contentPadding = PaddingValues(horizontal = 24.dp, vertical = 8.dp)
){ ... }
在上面的示例中,第一项将添加 8.dp填充到它的顶部,最后一项将添加 8.dp到它的底部,所有项目都将有 24.dp左边和右边的填充。
enter image description here

关于android - Jetpack Compose LazyColumn 的 ItemDecoration 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65261251/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com