如何使用包装内容指定最小百分比高度

时间:2020-01-07 23:51:06

标签: android android-layout android-constraintlayout

我有一个ConstraintLayout,其中包含一些视图。我希望它的最小高度为其父级的某个百分比。但是如果需要,还应根据其内容允许其变大。

似乎没有一种方法可以将最小高度指定为百分比。

2 个答案:

答案 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()
}

希望这会有所帮助。