Ответ 1
Мне тоже было интересно, Daniel Wilson собрал документацию, но для неподготовленного глаза это мало значит. Вот что это значит: "режим извлечения" относится к типу вида, который отображается, когда пространство слишком мало, например, пейзаж на Телефон. Я использую Galaxy S4 с Google Keyboard как IME.
Пейзажный интерфейс без видимого IME
На основе фокуса (в описании) вы можете увидеть TextInputLayout
в действии, нажимая подсказку вне редактора. Здесь ничего особенного, это то, что должен делать TextInputLayout
.
Редактирование ландшафтного пользовательского интерфейса пустым Поле имени
Редактируя имя, вы можете видеть, что IME не дает вам намека на то, что вы редактируете.
Редактирование ландшафтного пользовательского интерфейса пустым Поле описания
Редактируя описание, вы можете видеть, что IME дает вам намек на то, что вы редактируете.
Макеты компоновки
Разница между двумя полями - их тип EditText
VS TextInputEditText
. Важно то, что TextInputLayout
имеет android:hint
, а не wrapped 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>