Eu também estava me perguntando isso, Daniel Wilson reuniu a documentação, mas para o olho não treinado isso não significa muito. É aqui que se trata: "modo de extração" refere-se ao tipo de visualização que é mostrado quando o espaço é muito pequeno, por exemplo, paisagem em um telefone. Estou usando o Galaxy S4 com o teclado do Google como editor de método de entrada (IME).
Paisagem UI sem IME visível
Com base no foco (na descrição), você pode ver TextInputLayout
em ação empurrando a dica para fora do editor. Nada de especial aqui, é isso que TextInputLayout
devemos fazer.
IU em paisagem editando o campo Nome vazio
Editando o nome, você pode ver que o IME não dá uma dica do que você está editando.
Campo de descrição vazio de edição da IU em paisagem
Editando a descrição, você pode ver que o IME dá uma dica do que você está editando.
XMLs de layout
A diferença entre os dois campos é seu tipo EditText
VS TextInputEditText
. O importante aqui é que TextInputLayout
tenha o android:hint
EditText e não embrulhado, este é o caso quando TextInputEditText
poucas linhas de código Java fazem uma grande diferença.
Campo de 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 de descrição
<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>