【问题标题】:Two columns, one with dynamic height don't fit screen Jetpack两列,一列具有动态高度不适合屏幕 Jetpack
【发布时间】:2021-08-16 18:14:15
【问题描述】:

我想在 Jetpack Compose where 中做两列的基本视图

ColumnA 具有基于某些计算的动态高度。 ColumnB 在 ColumnA 下,高度固定,设置为垂直滚动

但是 ColumnA 正在切割 ColumnB 空间并且它无助于调整 ColumnB 的高度 - 只有当我输入固定的 dp 值时它才有效,但是当它来自 ColumnA 时,它不起作用。

有没有什么聪明的方法可以解决这个问题?

TLDR:试图垂直放置两个 Column,但 Column 具有固定高度的 Column 的动态高度切割。

Column(modifier = Modifier.fillMaxHeight()) {
  // A
  Column()) {
  // some content with dynamic height
  }
  // B with vertical scrolling
  Column(modifier = Modifier.height(1000.dp)) {
  }
}

谢谢

【问题讨论】:

标签: android android-jetpack android-jetpack-compose


【解决方案1】:

您可以使用weight(1f) 指示您的第一列占用第二列未占用的所有空间

    Column(modifier = Modifier.weight(1f)) {
        Text(text = "This is the first column")
    }
    // B with vertical scrolling
    Column(modifier = Modifier.fillMaxWidth().height(256.dp)) {
        Text("This is the 2nd column")
    }

【讨论】:

    【解决方案2】:

    如果列不需要联系,

    Column(Modifier.fillMaxSize()){
     Column(Modifier.wrapContentHeight().weight(1f, fill = 
     false){
    
     }
     Column(Modifier.height(/*fixed*/){
    
     }
    }
    

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 2012-12-09
      • 2019-05-28
      • 2012-06-30
      • 1970-01-01
      • 2020-12-07
      • 1970-01-01
      • 2021-10-25
      • 2017-01-17
      相关资源
      最近更新 更多