Мне тоже было интересно, Дэниел Уилсон собрал документацию, но для неподготовленного глаза это мало что значит. Вот что это такое: «режим извлечения» относится к типу вида, который отображается, когда пространство слишком мало, например альбомная ориентация на телефоне. Я использую Galaxy S4 с Google Keyboard в качестве редактора метода ввода (IME).
Альбомный интерфейс без видимого IME
Основываясь на фокусе (на описании), вы можете увидеть, как TextInputLayoutв действии выводится подсказка за пределы редактора. Здесь ничего особенного, это то, что TextInputLayoutнадо делать.

Редактирование ландшафтного интерфейса пустого поля имени
Редактируя Имя, вы можете видеть, что IME не дает вам намеков на то, что вы редактируете.

Редактирование ландшафтного интерфейса пустое поле Описание
Редактируя описание, вы видите, что IME дает вам представление о том, что вы редактируете.

Макет XML
Разница между этими двумя областями их типа EditTextVS 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>