有一个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
。
我也不知道为什么新的字母单独出现。
答案 0 :(得分:0)
android:inputType="text"
适合我。但我不知道为什么。