Sea*_*ean 12 android android-jetpack-compose
我试图拥有一个高度至少为 160 dp 的元素,但会缩放以在可能的情况下使用所有可用空间。我想,也许这比我想象的要困难。
以下内容不起作用,但也许它传达了我想做的事情的想法。
Column(modifier = Modifier.verticalScroll(rememberScrollState()).fillMaxSize) {
Box(modifier = Modifier.weight(1f).sizeIn(minHeight = 160.dp))
Box(modifier = Modifier.height(600.dp))
}
Run Code Online (Sandbox Code Playgroud)
当内容不适合屏幕时,我希望内容可以滚动,并且第一个框的高度为 160 dp。如果屏幕超过 760 dp,我希望第一个框填充尽可能多的空间,而不需要滚动。
您可以使用 来BoxWithConstraints根据可用空间定义自己的内容。
就像是:
BoxWithConstraints {
val height = maxHeight
Column(
modifier = Modifier
.background(Color.Red)
.verticalScroll(state = rememberScrollState(0))
.fillMaxSize()
) {
val modifierBox1 : Modifier = if (height > 760.dp)
Modifier.heightIn(height - 600.dp)
else
Modifier.heightIn(160.dp)
Box(
modifier = modifierBox1
.fillMaxWidth()
.background(Color.Blue)
)
Box(
modifier = Modifier
.height(600.dp)
.fillMaxWidth()
.background(Color.Green)
)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2319 次 |
| 最近记录: |