【问题标题】:Jetpack Compose Fill remaining space in RowJetpack Compose 填充行中的剩余空间
【发布时间】:2021-05-23 22:21:36
【问题描述】:

我有一个最大宽度的行,我想在开头放置一个图标,然后是一个文本,最后是另一个图标。 我有特定尺寸的图标,我希望文本填满剩余空间。

Row(
   Modifier
   .fillMaxWidth()
   .height(30.dp)
){
  Icon(Modifier.size(20.dp))

  Text() // Fill this with remaining space available

  Icon(Modifier.size(20.dp))
}

如果我在文本中输入fillMaxWidth,那么图标就会消失在视图之外。

怎么做?

【问题讨论】:

    标签: android android-jetpack-compose


    【解决方案1】:

    您可以将Modifier.weight(1f) 应用于Text 组合。

    类似:

    Row(
        Modifier
            .fillMaxWidth()
            .height(30.dp)
    ){
        Icon(Icons.Filled.Add,"", Modifier.size(20.dp))
    
        Text("Text",Modifier.weight(1f)) // Fill this with remaining space available
    
        Icon(Icons.Filled.Add,"", Modifier.size(20.dp))
    }
    

    【讨论】:

    • 我还有一个问题。我降低了 TextField 的高度,但占位符文本和输入文本被裁剪。即只有 50% 可见。如何解决?
    • @DelusonaL 尝试减小文本大小
    • 然后它变得太小了,只有 8.sp 工作,影响可访问性。