Android установить размер текста одного TextView равным другому - PullRequest
1 голос
/ 07 мая 2020

Итак, у меня есть текстовое представление, размер которого устанавливается на основе android autoSizeTextType = "uniform". Я хочу скопировать этот размер в два других текстовых представления.

Вот что я пробовал:

    val firstButton = activity?.findViewById<TextView>(R.id.b1)
    val secondButton = activity?.findViewById<TextView>(R.id.b2)
    val thirdButton = activity?.findViewById<TextView>(R.id.b3)

    if (firstButton != null) {
        secondButton?.textSize = firstButton.textSize
        thirdButton?.textSize = firstButton.textSize
    }

Это, однако, приводит к тому, что размер текста 2 и 3 составляет примерно 4x такой же большой, как и первый. У кого-нибудь есть идеи относительно того, что я делаю неправильно? Я предполагаю, что он получает какой-то масштабный размер в dpi, но я не уверен, как получить правильный размер.

1 Ответ

1 голос
/ 07 мая 2020

TextView.getTextSize() возвращает размер в пикселях , но setTextSize() интерпретирует параметр как масштабированные пиксели (sp). Есть перегрузка setTextSize () , которая принимает размер текста и единицы измерения. В вашем случае единица измерения должна быть TypedValue.COMPLEX_UNIT_PX.

secondButton?.setTextSize(TypedValue.COMPLEX_UNIT_PX, firstButton.textSize)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...