6

我正在尝试使用撰写惰性列,我希望我的惰性列的每个项目都具有最大高度,我尝试了下面的代码,但它没有给出预期的结果

代码

val itemsList:按 mainScreenViewModel.portfolioItems.observeAsState(listOf()) 列出

Box(modifier = Modifier.fillMaxSize()) {
    Column(modifier = Modifier.matchParentSize()) {
        LazyColumn(
            content = {
                itemsIndexed(itemsList) { index, item ->
                    Text(text = "Hello", modifier = Modifier.fillMaxHeight())
                }
            },
        )
}
}
4

1 回答 1

7

fillMaxHeight()/fillMaxWidth()不能分别对垂直和水平滚动列表正常工作。相反,我们可以使用fillParentHeight()fillParentWidth()分别提供LazyItemScope

示例代码:

LazyColumn(
     modifier = modifier.fillMaxHeight()) {
         items(count = 3) {
             Column(modifier = Modifier.fillParentMaxHeight()) {
                 Text(
                     text = "Item $it", 
                     modifier = Modifier.fillMaxWidth()
                 )
                 Divider(Modifier.height(2.dp))
            }
     }
}

有关更多详细信息,请参阅:https ://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/LazyItemScope

于 2021-09-03T11:08:40.130 回答