我有一个ConstraintLayout,其中包含一些视图。我希望它的最小高度为其父级的某个百分比。但是如果需要,还应根据其内容允许其变大。
似乎没有一种方法可以将最小高度指定为百分比。
答案 0 :(得分:3)
通过传递高度/宽度百分比比例来尝试此方法
fun getDeviceWidthInPercentage(percentage: Int): Int {
val displayMetrics =
MyApplication.getAppInstance()?.resources?.displayMetrics
return if (displayMetrics != null) {
val toMultiply = percentage / 100f
val pixels = displayMetrics.widthPixels * toMultiply
pixels.toInt()
}
}
通话方式:
YOUR_LAYOUT.layoutParams = LinearLayout.LayoutParams(
Helper.getDeviceWidthInPercentage(100),
Helper.getDeviceHeightInPercentage(85)
)
答案 1 :(得分:1)
以编程方式获取父母身高
并将minimumHeight
设置为您的视图(可以将0.8更改为所需的任何百分比)
parentLayout.post {
yourView.minimumHeight = (parentLayout.height * 0.8).toInt()
}
希望这会有所帮助。