Saya juga bertanya-tanya tentang ini, Daniel Wilson mengumpulkan dokumentasi, tetapi bagi mata yang tidak terlatih itu tidak berarti banyak. Ini semua tentang: "mode ekstrak" mengacu pada jenis tampilan yang ditampilkan saat ruang terlalu kecil, misalnya lanskap di ponsel. Saya menggunakan Galaxy S4 dengan Google Keyboard sebagai editor metode masukan (IME).
UI lanskap tanpa IME yang terlihat
Berdasarkan fokus (pada Deskripsi), Anda dapat melihat TextInputLayoutaksi mendorong petunjuk di luar editor. Tidak ada yang istimewa di sini, inilah yang TextInputLayoutseharusnya dilakukan.

Pengeditan UI lanskap bidang Nama kosong
Mengedit Nama Anda dapat melihat bahwa IME tidak memberi Anda petunjuk tentang apa yang Anda edit.

Pengeditan UI lanskap bidang Deskripsi kosong
Mengedit Deskripsi Anda dapat melihat bahwa IME memberi Anda petunjuk tentang apa yang Anda edit.

XML tata letak
Perbedaan antara kedua bidang tersebut adalah tipe EditTextVS-nya TextInputEditText. Hal penting di sini adalah yang TextInputLayoutmemiliki android:hintdan bukan EditText yang dibungkus, ini adalah kasus ketika TextInputEditTextbeberapa baris kode Java membuat perbedaan besar.
Bidang nama
<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>
Bidang deskripsi
<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>