Как указать минимальную процентную высоту для содержимого переноса - PullRequest
0 голосов
/ 08 января 2020

У меня есть ConstraintLayout с некоторыми представлениями. Я хочу, чтобы он имел минимальную высоту в несколько процентов от своего родителя. Но при необходимости его также следует увеличивать в зависимости от его содержания.

Не похоже, что есть способ указать минимальную высоту в процентах.

Ответы [ 2 ]

3 голосов
/ 08 января 2020

Попробуйте этот метод, передав процентное соотношение высоты / ширины

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 голос
/ 08 января 2020

Получите ваш родительский рост программным способом и установите minimumHeight на ваше представление (вы можете изменить 0,8 на любой процент, который вы хотите)

parentLayout.post {

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

Надеюсь, это поможет.

...