Мне тоже было интересно, Дэниел Уилсон собрал документацию, но для неподготовленного глаза это мало что значит. Вот что это такое: «режим извлечения» относится к типу вида, который отображается, когда пространство слишком мало, например альбомная ориентация на телефоне. Я использую Galaxy S4 с Google Keyboard в качестве редактора метода ввода (IME).
Альбомный интерфейс без видимого IME
Основываясь на фокусе (на описании), вы можете увидеть, как TextInputLayout
в действии выводится подсказка за пределы редактора. Здесь ничего особенного, это то, что TextInputLayout
надо делать.
Редактирование ландшафтного интерфейса пустого поля имени
Редактируя Имя, вы можете видеть, что IME не дает вам намеков на то, что вы редактируете.
Редактирование ландшафтного интерфейса пустое поле Описание
Редактируя описание, вы видите, что IME дает вам представление о том, что вы редактируете.
Макет XML
Разница между этими двумя областями их типа EditText
VS TextInputEditText
. Важным здесь является то, что TextInputLayout
есть , android:hint
а не обернутый EditText, это тот случай , когда TextInputEditText
«s несколько строк кода 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>