当图像的宽度/高度为 4/3 时,我想将图像的开始限制为父的开始,从上到下,从头到尾,就像 Android Xml 中的 app:layout_constraintDimensionRatio="H,3:4"
一样。
下面是我的代码:
ConstraintLayout(
modifier = Modifier
.wrapContentHeight()
.width(162.dp)
.clip(RoundedCornerShape(10.dp))
.background(color = Color.White)
.clickable {
//do something
}
) {
val (coverImg, title, status, date) = createRefs()
Image(
"some ignored properties",
modifier = Modifier
.constrainAs(coverImg) {
linkTo(start = parent.start, end = parent.end)
top.linkTo(parent.top)
width = Dimension.fillToConstraints
}
.height(102.dp)//I don't want to specify its height
)
Text(...)
AnyOtherLayout(...)
}
您可以在 jetpack compose 中使用 aspectRatio 修饰符。
它需要两个参数,第一个是表示该纵横比的单个浮点值。比如如果你想使用 3:4,你必须输入 3/4f 或 3/4 = .75f。
第二个是可选的,默认情况下它是假的。如果您发送 true,它将首先考虑 Constraints.maxHeight。