Tengo una Vista en la que hay dos cuadros de texto y el usuario puede seleccionar el color del texto desde otra vista en la misma pantalla (a través del cuadro de diálogo).
Entonces, cuando el usuario cambia de color a través del cuadro de diálogo, estoy cambiando el color del EditText
texto y su pista. Pero cuando hay algún texto disponible EditText
después de que el usuario selecciona otro color, entonces ese texto viene en ese color. Pero si elimino todo ese texto, el color de HintText es el del color anterior.
Por ejemplo, actualmente, si tengo color rojo en el cuadro de texto y el usuario selecciona el color verde, el texto aparece en color verde. Pero si elimino ese texto, el texto de la sugerencia aparecerá en rojo incluso si cambio el color de la sugerencia en el código. Este problema solo surge cuando hay algún texto allí. si está en blanco y hay texto de sugerencia, entonces el problema no vendrá.
fuente
Respuestas:
Use esto para cambiar el color de la pista. -
Solución para su problema -
fuente
Simplemente agregue esto en su
layout
paraEditText
:fuente
Colores predeterminados:
Para código de color:
fuente
Dentro del archivo XML de diseño podemos cambiar el color de la pista .....
puede reemplazar * con color o código de color.
fuente
Parece que EditText aplica hintTextColor solo si el texto está vacío. Tan simple solución será así
Si tiene varios campos, puede extender EditText y escribir un método que ejecute esta lógica y usar ese método en su lugar.
fuente
Programáticamente en Java: al menos API v14 +
exampleEditText.setHintTextColor(getResources().getColor(R.color.your_color));
fuente
setHintTextColor(color)
no funciona en caso de que haya algún texto, INCLUSO si es""
.Este es como el color de sugerencia predeterminado, funcionó para mí:
editText.setHintTextColor(Color.GRAY);
fuente
Puede llamar
editText.invalidate()
después de restablecer el color de la pista. Eso podría resolver su problema. En realidad, el SDK actualiza el color de la misma forma.fuente