这是我的EditText。为什么不允许多行?
<EditText
android:id="@+id/edtextDesigner"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_below="@+id/toggleText"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:alpha="0.5"
android:background="@drawable/rounded_corner"
android:ems="10"
android:lines="2"
android:focusable="true"
android:focusableInTouchMode="true"
android:fontFamily="sans-serif-light"
android:inputType="textMultiLine"
android:padding="10dp"
android:scrollHorizontally="false"
android:textColor="#000000"
android:textSize="16sp"
android:typeface="sans"
android:text=" "
android:visibility="invisible" />
我也以编程方式设置它。
edit_View.setSingleLine(false);
edit_View.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION);
edit_View.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE);
我完全不知道为什么这不起作用。
答案 0 :(得分:4)
我最近遇到过这个问题。我发现以编程方式设置inputType会重置大多数选项,因此您必须在之后设置它们。我认为将代码更改为可能有效:
edit_View.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE);
edit_View.setSingleLine(false);
edit_View.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION);
答案 1 :(得分:0)
这是有效的方法:
<EditText
android:maxLines="4"
android:lines="4"
android:gravity="top"
android:singleLine="false"
android:maxLength="255"
android:id="@+id/etRemarks"
android:layout_width="match_parent"
android:inputType="textMultiLine|textCapSentences"
android:layout_height="wrap_content"
android:importantForAutofill="no" />
关键属性是:
android:singleLine="false"
android:inputType="textMultiLine|textCapSentences"
android:maxLines="4". // to set the limit
android:lines="4" // to set the 4-liner appearance by default