Существует 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).
Однако, когда я вводю слово одинодна странная ошибка.
Как видите, теперь текст стал верхним пределом.
Теперь я ввожу еще один символ K
.
Я не могу понять, почему новый символ появляется отдельно.