Jetpack Compose で遅延列アイテムの高さ全体を占有させるにはどうすればよいでしょうか? 質問する

Jetpack Compose で遅延列アイテムの高さ全体を占有させるにはどうすればよいでしょうか? 質問する

私は遅延列の作成を試みていますが、遅延列の各項目の高さを最大にしたいので、以下のコードを試しましたが、期待どおりの結果が得られません。

コード

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())
                }
            },
        )
}
}

ベストアンサー1

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

おすすめ記事