使用Jetpack Compose设置内容的最小宽度/高度

15
我有一个框和一些文本在里面。实际上,这个文本只是一个数字,它可以是1、2或3位数。一方面,我想要包裹内容以适应我们得到一个3位数的情况(这将使框变宽),但另一方面,如果我们得到一个1位数,框会变得非常瘦,并且看起来很尴尬。
我尝试过Modifier.width(Int.dp)和Modifier.wrapContentWidth(),甚至尝试了两者的组合,但无法得到正确的效果。在Compose中是否有一种方法可以包装内容,但带有最小(默认)宽度或高度?
如果可能的话,我不想使用输入大小的if-else语句,因为那样会有点违背初衷。
1个回答

33
您可以使用 widthIn 修饰符来指定最小宽度,同时允许元素在必要时进一步扩展。
@Composable
fun Foo(){
    Text(text = "1", modifier = Modifier.widthIn(min = 32.dp))
}

在我的情况下,我使用的是Modifier.heightIn(min=x.dp),它总是采用设置的最小值,不会根据内容进行扩展。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接