在我的手机上,更改 imeOptions 和 inputType 没有任何作用;设置 moveMethod 和/或 scrollBarStyle 会严重影响组件,以至于用户将无法选择任何文本;isVerticalScrollBarEnabled 和 isHorizontalScrollBarEnabled 什么都不做;我能做的最好的就是使用
txt.setSingleLine(false);
(txt.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION);
似乎是不必要的)但这不会在该死的 EditText 中显示任何滚动条。最终我放弃了,只要我需要一个多行的 EditText,我就会膨胀一个布局片段。这是布局:
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:inputType="textMultiLine"
android:lines="4"
android:minLines="4"
android:gravity="top|start"
android:maxLines="4"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:scrollbars="vertical"
/>
这是 Anko 片段:
fun ViewManager.multiLineEditText(@StyleRes theme: Int = 0, init: EditText.() -> Unit): EditText = ankoView(
{ ctx -> ctx.layoutInflater.inflate(R.layout.util_multilineedittext, this@multiLineEditText as ViewGroup, false) as EditText }, theme, init)
Android 开发太难了。