如何指定带有包装内容的最小百分比高度

问题描述 投票:0回答:2

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

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

android android-layout android-constraintlayout
2个回答
0
投票

通过编程获取父母的身高并将minimumHeight设置为您的视图(您可以将0.8更改为所需的任何百分比)

parentLayout.post {

    yourView.minimumHeight = (parentLayout.height * 0.8).toInt()
}

希望这会有所帮助。


0
投票

通过传递高度/宽度的百分比尝试此方法

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)
    )  
© www.soinside.com 2019 - 2024. All rights reserved.