Android maxLines和minLines属性在XML中不起作用
我有一个XML文件,其中包含具有以下属性的Android maxLines和minLines属性在XML中不起作用,android,xml,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
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不推荐使用,我寻找了另一个选项,发现了这些属性,但它们不起作用。我可以输入任意多的新行。既然您将minLines和maxLines都定义为1,那么您也可以使用lines=“1”属性。就像API中描述的minLines和
maxLines
属性一样,您也必须使用属性android:inputType=“texmultiline”
:
API:
android:maxLines
使文本视图最多有这么多行。
在可编辑文本上使用时,inputType属性的值必须为
与maxLines属性的textMultiLine标志结合使用,以
申请
android:minLines
使文本视图至少有这么多行高。当用于
可编辑文本,inputType属性的值必须与
要应用的minLines属性的textMultiLine标志
所以我想,你只需要添加这个属性
编辑
为避免误解:这些属性的行为将允许输入多行,但只显示一行。但是,它是可滚动的,所以如果你再输入一些行,你可以上下滚动查看其他行
这在API中针对单线进行了说明minLines
和maxLines
的工作原理类似:
将文本约束为单个水平滚动行,而不是
让它包装成多行
不工作。我只尝试了android:maxLines
属性,同样的行为。@FogarasiNorbert尝试lines属性,而不是maxLines。@FogarasiNorbert尝试删除minLines和maxLines属性。我认为EditText的默认行为不应该允许第二行。同时我发现:inputType
属性必须是text
,而不是textmultile
,但你已经接近了。谢谢。好的,我做了一个编辑,因为单行的行为。我认为这是对属性的误解。诚然,API对“单行”的描述有点误导。singleLine=true
与lines=1
具有不同的行为,但在简单的情况下,它们的工作方式类似。有时我还需要使用单线。
<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" />