Je me posais la question aussi, Daniel Wilson a rassemblé la documentation, mais pour un œil non averti, cela ne signifie pas grand-chose. Voici de quoi il s'agit: le «mode extraction» fait référence au type de vue qui s'affiche lorsque l'espace est trop petit, par exemple paysage sur un téléphone. J'utilise Galaxy S4 avec Google Keyboard comme éditeur de méthode de saisie (IME).
Interface utilisateur en mode paysage sans IME visible
En vous basant sur le focus (sur la description), vous pouvez voir TextInputLayout
en action pousser le conseil en dehors de l'éditeur. Rien de spécial ici, c'est ce qui TextInputLayout
est censé faire.
Interface utilisateur de paysage éditant un champ de nom vide
En modifiant le nom, vous pouvez voir que l'IME ne vous donne pas une idée de ce que vous modifiez.
Champ de description vide
En modifiant la description, vous pouvez voir que l'IME vous donne une idée de ce que vous modifiez.
XML de mise en page
La différence entre les deux champs est leur type EditText
VS TextInputEditText
. La chose importante ici est que TextInputLayout
l ' android:hint
EditText et non l' encapsulé sont inclus, c'est le cas lorsque TextInputEditText
les quelques lignes de code Java font une grande différence.
Champ de nom
<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>
Champ de description
<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>