Yo también me preguntaba esto, Daniel Wilson reunió la documentación, pero para el ojo inexperto no significa mucho. De esto se trata: "modo de extracción" se refiere al tipo de vista que se muestra cuando el espacio es demasiado pequeño, por ejemplo, el paisaje en un teléfono. Estoy usando Galaxy S4 con el teclado de Google como editor de métodos de entrada (IME).
Interfaz de usuario horizontal sin IME visible
Según el enfoque (en la Descripción), puede ver TextInputLayout
en acción empujar la pista fuera del editor. Nada especial aquí, esto es lo que TextInputLayout
se supone que debe hacer.
IU horizontal que edita el campo de nombre vacío
Al editar el nombre, puede ver que el IME no le da una pista de lo que está editando.
Campo de descripción vacío de edición de interfaz de usuario horizontal
Al editar la descripción, puede ver que el IME le da una pista de lo que está editando.
XML de diseño
La diferencia entre los dos campos es su tipo EditText
VS TextInputEditText
. Lo importante aquí es que TextInputLayout
tiene el android:hint
EditText envuelto y no el envuelto, este es el caso cuando TextInputEditText
las pocas líneas de código Java hacen una gran diferencia.
Campo de nombre
<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 de descripción
<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>