繁体   English   中英

有没有办法在 jetpack-compose 中不使用 ConstraintLayout 来实现 Dimension.fillToConstraints 行为?

[英]Is there any way to achive that Dimension.fillToConstraints behaviour without using ConstraintLayout in jetpack-compose?

我正在练习作曲。 我有一个简单的设计,其中包含 LazyColumn 和 TextField。 我要做的就是将 TextField 固定在底部。 问题是由于MessageList()可组合没有 static 高度,它会填满所有屏幕并使TextField消失。 我使用ConstraintLayout可组合并设置MessageList()高度Dimension.fillToConstraints解决了这个问题。 我想知道是否有任何方法可以通过仅使用Column()而不是ConstraintLayout来实现。

Column {
    MessageList(list, state)
    Footer(message) {
      message = it
    }
}

@Composable
fun MessageList(list : List<ChatItem>, state : LazyListState){
    LazyColumn(state = state) {
    .....
    }
}

@Composable
fun Footer(message : String, onChange : (String) -> Unit){
    TextField(value = message, onValueChange = onChange)
}

你可以使用类似的东西:

val itemsList = (0..60).toList()

Column {
    LazyColumn(modifier = Modifier.weight(1f)){
        items(itemsList) {
            Text("Item is $it")
        }
    }
    Row( verticalAlignment = Alignment.Bottom) {
        Text(text = "Footer row")
    }
}

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM