EditText added не является TextInputEditText. Пожалуйста, переключитесь на использование этого класса вместо этого
Я использую EditText
внутри TextInputLayout
, но после обновления библиотеки поддержки до 23.2.0, я получаю это предупреждение в logcat, в чем разница между обычным EditText
и TextInputEditText
? Я не могу найти никаких документов для этого.
4 ответа:
мне тоже было интересно,Дэниел Уилсон собрал документацию, но для неподготовленного глаза это мало что значит. Вот в чем все дело: "режим извлечения" относится к типу представления, который отображается, когда пространство слишком мало, например пейзаж на телефоне. Я использую Galaxy S4 с клавиатурой Google в качестве IME.
ландшафтный интерфейс без видимого IME
на основе фокуса (по описанию) вы можете увидеть
TextInputLayout
в действии вытолкнуть подсказку за пределы редактора. Ничего особенного здесь нет, вот чтоTextInputLayout
что должен делать.пейзаж пользовательского интерфейса для редактирования пустое поле Имя
редактирование имени вы можете видеть, что IME не дает вам намека на то, что вы редактируете.
пейзаж пользовательского интерфейса для редактирования пустое поле Описание
редактирование описания вы можете видеть, что IME дает вам намек на то, что вы редактируете.
Макет XMLs
разница между двумя полями - это их тип
EditText
VSTextInputEditText
. Главное здесь то, чтоTextInputLayout
имеетandroid:hint
и не завернутый EditText, это тот случай, когдаTextInputEditText
несколько строк кода Java имеет большое значение.имя поля
<android.support.design.widget.TextInputLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Item Name" > <EditText android:id="@+id/name" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </android.support.design.widget.TextInputLayout>
описание поля
<android.support.design.widget.TextInputLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Item Description" > <android.support.design.widget.TextInputEditText android:id="@+id/description" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textMultiLine" android:minLines="4" android:scrollbars="vertical" /> </android.support.design.widget.TextInputLayout>
для него нет документации, но класс является обычным
EditText
с одной дополнительной функцией:использование этого класса позволяет нам отображать подсказку в IME, когда в режиме' extract'.
конкретно он устанавливает
EditorInfo.hintText
. Вы заметите вTextInputLayout