android - 如何在 LazyColumn Jetpack Compose 中的项目之间添加分隔符?

标签 android android-jetpack-compose android-jetpack-compose-list

我有一个看起来像这样的 LazyColumn:

LazyColumn (
    verticalArrangement = Arrangement.spacedBy(12.dp)
) {
    items(bookList) { book ->
        InProgressBookItem(book = book)
    }
}
如何在列表中的每个项目之间添加一行,类似于在旧的 RecyclerView 上使用项目装饰?

最佳答案

目前,与 1.0.x没有添加分隔线的内置方法。但是,您可以添加 Divider LazyListScope .
就像是:

LazyColumn(
    verticalArrangement = Arrangement.spacedBy(12.dp),
) {
    items(itemsList){
        Text("Item at  $it")
        Divider(color = Color.Black)
    }
}
如果您不希望最后一项后跟 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)
    }
}
enter image description here

关于android - 如何在 LazyColumn Jetpack Compose 中的项目之间添加分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67139925/

相关文章:

android - 如何在 Android Compose 中动态更新 AndroidView 内的 RecyclerView

android - Jetpack Compose Text 超链接部分文本

android - 如何获取 TextField (Jetpack Compose) 的光标位置?

android - 如何检索 LazyRow 的滚动方向

android - 有没有办法对齐 LazyColumn 底部的项目?

用于录制的 Android Camera2 api 不起作用

android - Android下使用TImage时低质量delphi用户界面设计

android - Jetpack Compose LazyColumn 以编程方式滚动到项目

java - Android - gson.toJson 在 ArrayList<OverlayItem> 上抛出 StackOverFlowError

android - CollapsingToolbarLayout 图像在滚动到顶部时保持不变,就像 Play 商店应用程序一样