Este team de trabajo ha estado mucho tiempo investigando la respuesta a tu búsqueda, te brindamos la respuesta de modo que deseamos que resulte de gran ayuda.
Solución:
Use este estilo para aplicar el color del borde y el ancho del borde de esta manera:
obtener detalles adicionales sobre el estilo de este enlace
Agregue la siguiente línea en su colors.xml
archivo que anula el color predeterminado para TextInputLayout
#fff
A partir de la versión 1.1.0-alpha02 de Material Components para Android, funciona simplemente para crear un ColorStateList
para estos artículos. El procedimiento es el siguiente:
Cree un nuevo directorio de recursos “color” en resolución y color interior agregue un archivo de recursos de color llamado “text_input_box_stroke.xml” res/color/text_input_box_stroke.xml
poner algo como lo siguiente:
Entonces en tu styles.xml
pondrías:
Finalmente indica tu estilo para el real TextInputLayout
:
A partir de Material Components Alpha 7, simplemente crea un archivo de selector de color de la siguiente manera: colors/text_input_outline_color.xml
Para obtener más contexto sobre cómo se está configurando esto. Aquí está el código fuente relevante:
ColorStateList boxStrokeColorStateList =
MaterialResources.getColorStateList(context, a, R.styleable.TextInputLayout_boxStrokeColor);
if (boxStrokeColorStateList != null && boxStrokeColorStateList.isStateful())
defaultStrokeColor = boxStrokeColorStateList.getDefaultColor();
disabledColor =
boxStrokeColorStateList.getColorForState(new int[] -android.R.attr.state_enabled, -1);
hoveredStrokeColor =
boxStrokeColorStateList.getColorForState(new int[] android.R.attr.state_hovered, -1);
focusedStrokeColor =
boxStrokeColorStateList.getColorForState(new int[] android.R.attr.state_focused, -1);
else
// If attribute boxStrokeColor is not a color state list but only a single value, its value
// will be applied to the box's focus state.
focusedStrokeColor =
a.getColor(R.styleable.TextInputLayout_boxStrokeColor, Color.TRANSPARENT);
defaultStrokeColor =
ContextCompat.getColor(context, R.color.mtrl_textinput_default_box_stroke_color);
disabledColor = ContextCompat.getColor(context, R.color.mtrl_textinput_disabled_color);
hoveredStrokeColor =
ContextCompat.getColor(context, R.color.mtrl_textinput_hovered_box_stroke_color);
En esta lista, puede ver que desea asegurarse de que está utilizando un selector de color con todos los estados definidos, o volverá a tener otro color predeterminado.
Valoraciones y comentarios
Si conservas alguna indecisión o capacidad de arreglar nuestro post eres capaz de dejar una crítica y con deseo lo estudiaremos.