Estoy usando la biblioteca de diseño de Android TextinputLayout
. Pero no se pudo personalizar el color de la sugerencia, el color de la etiqueta y el color del subrayado del EditText
interior TextinputLayout
. Por favor ayuda.
android
android-design-library
android-textinputlayout
Nitesh Verma
fuente
fuente
Respuestas:
Cambiar el color de la línea de fondo:
Para obtener más información, consulte este hilo .
Cambiar el color de la pista cuando está flotando
y utilícelo así:
Cambie el color de la pista cuando no sea una etiqueta flotante:
Gracias a @AlbAtNf
fuente
android:textColorHint
queTextInputLayout
en XML.Basado en Fedor Kazakov y otras respuestas, creé una configuración predeterminada.
styles.xml
activity_layout.xml
Centrado:
Sin foco:
Mensaje de error:
fuente
Con la biblioteca de componentes de materiales puede utilizar la
com.google.android.material.textfield.TextInputLayout
.Puede aplicar un estilo personalizado para cambiar los colores.
Para cambiar el color de la pista , debe utilizar estos atributos:
hintTextColor
yandroid:textColorHint
.Debería utilizar un selector para
android:textColorHint
. Algo como:Para cambiar el color de fondo que usted tiene que utilizar el atributo:
boxStrokeColor
.También en este caso debería utilizar un selector. Algo como:
También puede aplicar estos atributos en su diseño:
fuente
boxStrokeColor
. En el ejemplo,selector_stroke_color
en particular, la última línea:<item android:alpha="0.38" android:color="?attr/colorOnSurface"/>
Agregue este atributo en la etiqueta Edittext y disfrute:
fuente
Esta publicación de blog describe varios aspectos de estilo
EditText
yAutoCompleteTextView
envueltos porTextInputLayout
.Por
EditText
y AppCompat lib 22.1.0+ se puede establecer el atributo de tema con algunos ajustes relacionados con el tema:y aplicarlos en
EditText
:Porque las
AutoCompleteTextView
cosas son más complicadas porque envolverloTextInputLayout
y aplicar este tema rompe el comportamiento de la etiqueta flotante. Necesitas arreglar esto en el código:y en
Activity.onCreate
:fuente
Si desea cambiar el color de la barra / línea y el color del texto de la sugerencia
TextInputLayout
(cuál es normalmente el color de acento), simplemente cree este estilo:Luego aplícalo a tu
TextInputLayout
como tema :Básicamente, esto establece un tema (no estilo) en una vista (a diferencia de toda la actividad).
fuente
Puede anular este estilo para el diseño
Y también puede cambiar el estilo interno del elemento EditText.
fuente
aplicar este estilo a TextInputLayout
fuente
android:theme="@style/EditScreenTextInputLayoutStyle"
A
TextinputLayout
no es una vista, sino aLayout
, como muy bien lo describe Dimitrios Tsigouris en su publicación de blog aquí . Por lo tanto, no necesita unStyle
, que esViews
solo para , pero use unTheme
. Después de la publicación del blog, terminé con la siguiente solución:Empiece en su
styles.xml
conY en tu diseño agrega
fuente