我有一个类似于这样的LazyColumn:
LazyColumn (
verticalArrangement = Arrangement.spacedBy(12.dp)
) {
items(bookList) { book ->
InProgressBookItem(book = book)
}
}
我该如何在列表中每个项目之间添加一条线,类似于在旧的RecyclerView上使用项目装饰?
我有一个类似于这样的LazyColumn:
LazyColumn (
verticalArrangement = Arrangement.spacedBy(12.dp)
) {
items(bookList) { book ->
InProgressBookItem(book = book)
}
}
我该如何在列表中每个项目之间添加一条线,类似于在旧的RecyclerView上使用项目装饰?
目前还没有内置的方法来添加分隔线。但是,您可以在LazyListScope
中添加一个Divider
。
类似于:
LazyColumn(
verticalArrangement = Arrangement.spacedBy(12.dp),
) {
items(itemsList){
Text("Item at $it")
Divider(color = Color.Black)
}
}
如果您不想让最后一项后面跟随一个Divider
,您可以根据它们的索引为项目添加分隔线。
如果您不希望最后一项后面跟随一个Divider
,则可以根据项目的索引添加分隔线:
LazyColumn(
verticalArrangement = Arrangement.spacedBy(12.dp),
) {
itemsIndexed(itemsList) { index, item ->
Text("Item at index $index is $item")
if (index < itemsList.lastIndex)
Divider(color = Color.Black, thickness = 1.dp)
}
}
简单:
LazyColumn (
verticalArrangement = Arrangement.spacedBy(12.dp)
) {
items(bookList) { book ->
InProgressBookItem(book = book)
Divider(color = Color.Black, thickness = 1.dp)
}
}
index < itemsList.lastIndex
代替index < itemsList.size-1
。 - or_dvirindex>0
的项目之前添加分隔符。 - undefined