Saltar al contenido

Cambiar el color del contorno de TextInputLayout

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *