Android maxLines 和 minLines 属性在 XML 中不起作用

Fog*_*ert 4 xml android

我有一个包含EditText以下属性的 XML 文件:

<EditText
        android:id="@+id/et_firstname"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="@dimen/view_margin_below"
        android:hint="@string/et_firstname"
        android:maxLength="20"
        android:minLines="1"
        android:maxLines="1" />
Run Code Online (Sandbox Code Playgroud)

由于android:singleline已弃用,我寻找了另一个选项,我找到了这些属性,但它们不起作用。我可以输入任意多的换行符。

Opi*_*chs 7

就像 API for minLinesandmaxLines属性中描述的那样,您也必须使用该属性android:inputType="textMultiLine"

应用程序接口:

机器人:最大线

使 TextView 最多有这么多行高。在可编辑文本上使用时, inputType 属性的值必须与 textMultiLine 标志相结合才能应用 maxLines 属性。

android:minLines

使 TextView 至少有这么多行高。在可编辑文本上使用时, inputType 属性的值必须与 textMultiLine 标志组合才能应用 minLines 属性。

<EditText
        android:id="@+id/et_firstname"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="@dimen/view_margin_below"
        android:hint="@string/et_firstname"
        android:maxLength="20"
        android:minLines="1"
        android:inputType="textMultiLine"
        android:maxLines="1" />
Run Code Online (Sandbox Code Playgroud)

所以我想,你只需要添加这个属性。

编辑

避免误解:这些属性的行为将允许输入多行,但只会显示一行。但是,它是可滚动的,因此如果您输入更多行,则可以上下滚动以查看其他行。

这在 API for 中说明singleLineminLinesmaxLines工作类似:

将文本限制为一条水平滚动的行,而不是让它环绕多行