textinputedittext studio edittext color android android-design-library

studio - textinputlayout android



Cómo utilizar TextInputLayout en la nueva biblioteca de diseño de Android (7)

Esto se define en la here en "Etiquetas flotantes para editar texto".

<android.support.design.widget.TextInputLayout android:id="@+id/name_et_textinputlayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/activity_vertical_margin"> <EditText android:id="@+id/FeedBackerNameET" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="hinttext" android:inputType="textPersonName|textCapWords" /> </android.support.design.widget.TextInputLayout>

Recientemente, Google introdujo la nueva Biblioteca de diseño de Android en la que se utiliza el campo TextInputLayout para habilitar la función Sugerencia flotante de EditText.

No hay mucha orientación disponible here .

Esta pagina dice

Ahora puedes envolverlo en un TextInputLayout

Pero no tengo idea porque la predicción inteligente (Ctrl + ESPACIO) no predice ningún atributo a TextInputLayout. Así que mis preguntas son:

¿Cómo conseguimos el EditText subyacente a este componente?

¿Cómo podemos obtener datos de EditText?


La forma correcta ...

<android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dp"> <android.support.design.widget.TextInputEditText android:id="@+id/card_id_edit_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/form_card_id_text" android:inputType="number" android:maxLength="10"/> </android.support.design.widget.TextInputLayout>

Si usa EditText como un elemento secundario de TextInputLayout, verá este mensaje en Android Monitor:

I / TextInputLayout: EditText agregado no es un TextInputEditText. Por favor, cambie a usar esa clase en su lugar.


Para que esto funcione bien, debes permitirte que el tema de la aplicación se extienda desde Theme.AppCompat (o su descendiente), como se extiende desde Theme.AppCompat.Light.NoActionBar .


Podemos usar AppCompactEditText también para esta necesidad de agregar soporte: appcompat in gradle

<android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="20dp"> <android.support.v7.widget.AppCompatEditText android:id="@+id/et_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/hint" android:maxLength="100" android:inputType="textNoSuggestions" android:textColor="@color/colorPrimary" android:textSize="@dimen/font_size_large" /> </android.support.design.widget.TextInputLayout>


EditText TextInputLayout alrededor de TextInputEditText lugar de EditText .

Envolver alrededor de EditText tiene problemas en modo horizontal. Consulte este artículo para más detalles.

<android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.TextInputEditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="hint" android:id="@+id/editText1" /> </android.support.design.widget.TextInputLayout>


TextInputLayout extiende la clase ViewGroup . Entonces, lo que significa que tiene que envolver su EditText en un TextInputLayout .

<android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="hint" android:id="@+id/editText1" /> </android.support.design.widget.TextInputLayout>


<android.support.design.widget.TextInputLayout android:id="@+id/til_message" android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/et_message" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/type_message" android:maxLines="5"/> </android.support.design.widget.TextInputLayout>

La sugerencia cambiará automáticamente una vez que comience a escribir en el texto de edición y tendrá los errores que aparecen debajo del texto de edición.

tilMessage.setError("Message field is empty!");

para deshabilitar el error

tilMessage.setErrorEnabled(false);