Изменить размер текста в afterTextChanged - PullRequest
0 голосов
/ 05 июня 2018

Существует EditText, ширина которого фиксирована и maxLines = 1.Я хочу изменить размер текста при увеличении длины текста.

override fun afterTextChanged(s: Editable?) {
    val paint = edit_text.paint
    var textSize = edit_text.textSize
    var newWidth = paint.measureText(s.toString())
    while (newWidth >= edit_text.width) {
        textSize -= 1
        paint.textSize = textSize
        newWidth = paint.measureText(s.toString())
    }
    edit_text.setTextSize(COMPLEX_UNIT_PX, textSize)
}

Как видите, когда newWidth больше, чем width, я буду искать новый textSize (в цикле while).

Однако, когда я вводю слово одинодна странная ошибка.

Как видите, теперь текст стал верхним пределом.

enter image description here

Теперь я ввожу еще один символ K.

enter image description here

Я не могу понять, почему новый символ появляется отдельно.

1 Ответ

0 голосов
/ 05 июня 2018

android:inputType="text" у меня работает.Но я не знаю почему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...