当前位置: 首页 > 知识库问答 >
问题:

有什么方法可以在不使用jetpack-compose中的ConstraintLayout的情况下实现这个维度呢?

巴帅
2023-03-14

我正在练习作曲。我有一个简单的设计,其中包含LazyColzo和TextField。我想做的就是将TextField固定在底部。问题是由于MessageList()可组合没有静态高度,它填充了所有屏幕并使TextField消失。我使用ConstraintLayout可组合并设置MessageList()高度Dimension.fillToConstraints修复了这个问题。我想知道是否有任何方法可以通过仅使用Colzo()而不是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)
}

共有1个答案

黄俊誉
2023-03-14

您可以使用类似以下的内容:

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")
    }
}
 类似资料:
  • 问题内容: 是否可以在不实现Comparable类的情况下使用Comparator?例如,如果我有以下内容: 然后可以使用comp比较两个对象吗?如果是这样,我将如何去做? 谢谢… 问题答案: 你不用。您使用。 是由对象实现的接口,用于指定它们与相同类型的其他对象的排序顺序。 是一个通用接口,只需要两个对象并告诉您它们的排序顺序。因此,您可以执行以下操作: 与: 和:

  • 问题内容: 您是否知道在不关闭关联套接字的情况下中断Java读取的方法? 这是获取套接字输入流并转换为可中断的DataInputStream的当前构造策略: 这利用提供了对throwable的支持的方法的a 。 问题在于,在线程上调用中断再在原因上调用会导致底层套接字被关闭。 就我而言,我需要使套接字保持打开状态。该呼叫正在等待即将到来的用户输入,因此我正在使用中断将控制权传递回更高的组件,然后最

  • 输入是:1。硬币中一定数量货币的总重量,2。旧货币硬币的价值和相应重量。 目标是找到给定金额货币的最低可能货币价值。 我的方法是按货币的价值/重量比升序对硬币进行排序,然后贪婪地将第一枚硬币的重量尽可能多地匹配到总和中(跟踪它匹配的次数),然后匹配将第二枚硬币的重量尽可能多次地放入余数中,等等,对于所有硬币或直到余数为零(如果不是,情况是不可能的)。 法官说我的答案是错误的。你能给我一个关于算法错

  • 是否可以在没有实体的情况下使用JpaRepository?在这种情况下,将其替换为DTO。 如下示例所示 这种情况有替代方案吗? 注意:DTO已经映射,但我不想创建视图来将此DTO转换为实体。 我已经验证了这个主题,但没有重大进展,请使用无实体的JpaRepository交互样式 我在试这个 接口- 公共接口BffDTOInterface2{ } 我有这个错误

  • 问题内容: 前几天与同事进行了交谈。 使用构造函数是显而易见的,但是还有其他方法吗? 问题答案: 有四种在Java中创建对象的方法: 一 。使用关键字 这是在Java中创建对象的最常见方法。几乎99%的对象都是通过这种方式创建的。 乙 。使用 如果我们知道类的名称,并且它具有公共的默认构造函数,则可以通过这种方式创建一个对象。 Ç 。使用 clone()可用于创建现有对象的副本。 d 。使用 对象