Ich habe mich auch gefragt, Daniel Wilson hat die Dokumentation gesammelt, aber für das ungeübte Auge bedeutet das nicht viel. Hier ist, worum es geht: "Extraktionsmodus" bezieht sich auf die Art der Ansicht, die angezeigt wird, wenn der Speicherplatz zu klein ist, z. B. Querformat auf einem Telefon. Ich verwende Galaxy S4 mit Google Keyboard als Eingabemethoden-Editor (IME).
Querformat-Benutzeroberfläche ohne sichtbaren IME
Anhand des Fokus (auf Beschreibung) können Sie TextInputLayout
in Aktion sehen, wie der Hinweis außerhalb des Editors verschoben wird. Hier ist nichts Besonderes, das TextInputLayout
soll man tun.
Bearbeiten der Landschafts-Benutzeroberfläche leeres Namensfeld
Wenn Sie den Namen bearbeiten, sehen Sie, dass der IME Ihnen keinen Hinweis darauf gibt, was Sie bearbeiten.
Bearbeitung der Querformat-Benutzeroberfläche leeres Beschreibungsfeld
Wenn Sie die Beschreibung bearbeiten, sehen Sie, dass der IME Ihnen einen Hinweis darauf gibt, was Sie bearbeiten.
Layout-XMLs
Der Unterschied zwischen den beiden Feldern ist ihre Art EditText
VS TextInputEditText
. Das Wichtigste dabei ist, dass TextInputLayout
der android:hint
und nicht der umbrochene EditText vorhanden ist. Dies ist der Fall, wenn TextInputEditText
die wenigen Zeilen Java-Code einen großen Unterschied machen.
Namensfeld
<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>
Beschreibungsfeld
<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>