android singleLine vs maxLines

时间:2015-06-16 22:39:27

标签: android android-layout

我认为singleLine="true"相当于maxLines="1",但我发现Android Studio中的以下预先填充的字段同时存在。有区别吗?是否存在导致两者都被要求的已知错误?

<EditTextPreference
   android:key="example_text"
   android:title="@string/pref_title_display_name"
   android:defaultValue="@string/pref_default_display_name"
   android:selectAllOnFocus="true"
   android:inputType="textCapWords"
   android:capitalize="words"
   android:singleLine="true"
   android:maxLines="1" />

这来自pref_general.xml文件。

2 个答案:

答案 0 :(得分:10)

从Android网站:

<强> singleLine

  

将文本约束为单个水平滚动线而不是   让它包裹在多行上,并提升焦点而不是   按Enter键时插入换行符。默认值为   false(多行包装文本模式)用于不可编辑的文本,但如果你   为inputType指定任何值,默认为true(单行   输入字段模式)。

     

必须是布尔值,&#34; true&#34;或&#34; false&#34;。

<强> maxLines

  

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

     

必须是整数值,例如&#34; 100&#34;

请注意,由于API 3和maxLines应该被使用,因此不推荐使用singleLine。所以你真正需要的是

android:maxLines = integer // 1 for single line or add lines multiple as well.

答案 1 :(得分:0)

<强> MAXLINES

在EditText中,maxLines属性设置为特定值,如5 EditText中只显示五行文本以及
中的Enter键 键盘也可用于输入。

<强> SINGLELINE

在EditText中,singleLine属性设置为true值,然后只有一行 text是int EditText以及键盘中的Enter键而不是 进入我们可见。

由于