Android maxLines和minLines属性不适用于XML

时间:2017-07-11 18:30:06

标签: android xml

我有一个XML文件,其中包含EditText这些属性:

<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" />

由于android:singleline已被弃用,我寻找另一个选项并找到了这些属性,但它们无效。我被允许输入尽可能多的换行符。

2 个答案:

答案 0 :(得分:4)

minLinesmaxLines属性的API中描述的一样,您也必须使用属性android:inputType="textMultiLine"

API:

  

android:maxLines

     

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

     

机器人:的minlines

     

使TextView至少有这么多行。当用在   可编辑文本,inputType属性的值必须与   要应用的minLines属性的textMultiLine标志。

<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" />

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

修改

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

这在singleLine的API中说明。 minLinesmaxLines的工作方式类似:

  

将文本约束为单个水平滚动线而不是   让它换行多行

答案 1 :(得分:2)

由于您将minLines和maxLines都定义为1,因此您也可以使用lines =“1”属性。