行项目之一未显示在 Jetpack Compose 视图中

Fee*_*eco 8 android kotlin android-jetpack-compose

这是一个测试可组合项:

@Preview
@Composable
fun SliderInRow() {
    Row {
        Text("qwe")
        Slider(value = 0f, onValueChange = {})
        Text("wer")
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要一行包含一个文本、一个滑块和另一个文本。但是,最后一个可组合文本 ( wer) 被遗漏了:

在此输入图像描述

我究竟做错了什么?

Phi*_*hov 14

Slider设计为采用所有可用宽度,与任何视图相同Modifier.fillMaxWidth。

这就是为什么他压缩最后一个视图并使其宽度为零。

在您的情况下,创建此类布局的推荐方法是添加Modifier.weight(1f)到灵活视图Slider。从它的文档来看:

父级会划分测量未加权的子元素后剩余的水平空间,并根据这个权重进行分配。

Row {
    Text("qwe")
    Slider(value = 0f, onValueChange = {}, modifier = Modifier.weight(1f))
    Text("wer")
}
Run Code Online (Sandbox Code Playgroud)