如何使父布局-Box
在Jetpack compose中 Package 其内容?下面的当前实现填充了整个屏幕,我只希望Box
Package 其子布局-Switch
。如何为Box
定义 * Package 内容 *?
@Composable
fun TestScreen(modifier: Modifier = Modifier) {
Box(modifier = Modifier.background(Color.Yellow)){
val switchState = remember { mutableStateOf(true) }
Switch(
checked = switchState.value,
enabled= true,
onCheckedChange = { switchState.value = it }
)
}
}
2条答案
按热度按时间ewm0tg9j1#
你在屏幕上看到的不是关于
Modifier.wrapContentSize
的。Modifier.wrapContentSize
和没有大小修饰符返回相同的约束。你可以查看这个答案的Constraints部分。为什么你的盒子覆盖整个屏幕可能是更狡猾的东西,你有一个带有Modifier.fillMaxSize()的Surface作为
TestScreen
的直接父级。表面是一个带有
propagateMinConstraints: Boolean = true
的盒子,它强制其直接后代具有最小宽度和高度。This answer用例子解释了它是如何工作的。你的组合实际上是这样的,当父不是表面,如我上面提到的。
uplii1fm2#
修饰符有可以使用的
wrapContentSize
。