我有一个ConstraintLayout,其中包含一些视图。我希望它的最小高度为其父级的某个百分比。但是,如果需要,还应根据其内容将其增大。
虽然似乎没有一种方法可以将最小高度指定为百分比。
通过编程获取父母的身高并将minimumHeight
设置为您的视图(您可以将0.8更改为所需的任何百分比)
parentLayout.post {
yourView.minimumHeight = (parentLayout.height * 0.8).toInt()
}
希望这会有所帮助。
通过传递高度/宽度的百分比尝试此方法
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)
)