Mi stavo chiedendo anche questo, Daniel Wilson ha raccolto la documentazione, ma per un occhio inesperto non significa molto. Ecco di cosa si tratta: "modalità di estrazione" si riferisce al tipo di visualizzazione che viene mostrato quando lo spazio è troppo piccolo, ad esempio il paesaggio su un telefono. Sto usando Galaxy S4 con la tastiera Google come editor del metodo di input (IME).
Interfaccia utente orizzontale senza IME visibile
In base al focus (sulla Descrizione) puoi vedere TextInputLayout
in azione spingendo il suggerimento fuori dall'editor. Niente di speciale qui, questo è quello che TextInputLayout
dovrebbe fare.
Modifica dell'interfaccia utente orizzontale nel campo Nome vuoto
Modificando il nome puoi vedere che l'IME non ti dà un indizio di ciò che stai modificando.
Modifica dell'interfaccia utente orizzontale Campo Descrizione vuoto
Modificando la descrizione puoi vedere che l'IME ti dà un suggerimento di ciò che stai modificando.
XML di layout
La differenza tra i due campi è il loro tipo EditText
VS TextInputEditText
. La cosa importante qui è che TextInputLayout
ha l' android:hint
EditText avvolto e non, questo è il caso in cui TextInputEditText
poche righe di codice Java fanno una grande differenza.
Campo nome
<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>
Campo descrizione
<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>