我有一个EditText,lineSpacingExtra设置为8dp。当我用这个EditText和预设文本打开一个页面时,行间距很好。但是当我在同一页面点击EditText的末尾并开始输入时,行间距似乎被忽略了。
这是一个错误还是我错过了什么?
添加了代码段。我认为没有什么特别之处。
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:padding="8dip"
android:scrollbars="vertical"
android:fadingEdge="vertical"
android:gravity="top"
android:lineSpacingExtra="8dip"
android:lineSpacingMultiplier="2"
android:textSize="18sp"
android:capitalize="sentences"
android:inputType="textCapSentences|textMultiLine"
/>
更新:看起来这个错误来自 Android 5 Lollipop
答案 0 :(得分:1)
这是一个已发布的错误:https://issuetracker.google.com/issues/37009353,我找到了一个修复方法:只有在最后一行输入时才会出现此错误,因此您可以在最后一行附加一个空行。< / p>
答案 1 :(得分:0)
我分享我的代码。科特林。
override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
val added = count - before > 0 // blocking EditText#setText() when user remove text
val startChar = if (start > 0) s[start - 1] else null
if (startChar == '\n' && added) {
val selectionStart = editText.selectionStart
editText.setText(s)
editText.setSelection(selectionStart)
}
}