Android singleLine vs maxLines

Я думал, что 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.

Ответ 1

От веб-сайта Android:

singleLine:

Ограничивает текст одной горизонтальной прокруткой, а не позволяя его обернуть на несколько строк, и продвигает фокус вместо вставляя новую строку, когда вы нажимаете клавишу ввода. Значение по умолчанию false (многострочный обернутый текстовый режим) для не редактируемого текста, но если вы укажите любое значение для inputType, значение по умолчанию - true (однострочное режим входного поля).

Должно быть логическое значение: "true" или "false".

maxLines:

Делает TextView не более, чем много строк. При использовании на редактируемый текст, значение атрибута inputType должно сочетаться с флаг textMultiLine для атрибута maxLines.

Должно быть целочисленное значение, например "100"

Обратите внимание, что singleLine устарела, поскольку вместо этого следует использовать API 3 и maxLines. Итак, все, что вам нужно, это

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

Ответ 2

MaxLines

В EditText, maxLines свойство задано с конкретным значением, например, 5 в EditText отображается только пять строк текста, а также клавиша Enter в
клавиатура также видна для ввода.

SingleLine

В EditText свойство singleLine задано с истинным значением, тогда только одна строка текст - это int EditText, а также клавиша Enter на клавиатуре, а не видимый для входа в нас.

Спасибо