es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo cambiar el color predeterminado de subrayado en TextInputEditText?

Mi color de subrayado en editText es primaryColor, quiero cambiarlo a otro cuando esté fuera de foco.

xml

<com.google.android.material.textfield.TextInputLayout
android:id="@+id/usernameInputLayout"
android:layout_width="384dp"
android:layout_height="75dp"
android:layout_marginStart="16dp"
android:layout_marginTop="200dp"
android:layout_marginEnd="16dp"
android:hint="@string/username_hint"
app:hintTextColor="@color/white"
android:textColorHint="@color/white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

        &lt;com.google.android.material.textfield.TextInputEditText
            android:id=&quot;@+id/usernameInputEditText&quot;
            android:layout_width=&quot;match_parent&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:inputType=&quot;text&quot;
            android:textColor=&quot;@color/white&quot;
            android:background=&quot;@color/primaryColor&quot;
            android:text=&quot;@={authViewModel._username}&quot;/&gt;
    &lt;/com.google.android.material.textfield.TextInputLayout&gt;

He intentado

app:boxStrokeColor="color/blue"

pero funciona cuando el editText está enfocado, en otras palabras, cuando el usuario está en editText, quiero que cuando el usuario no esté en editText, la línea sea azul y cuando esté en editText, la línea sea blanca.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para cambiar el color de subrayado de un EditText cuando está fuera de foco, puede agregar el siguiente atributo al TextInputLayout:

    app:defaultHintTextColor="@color/blue"
    

    Esto cambiará el color del subrayado a azul cuando el EditText no está en foco. Para cambiar el color de subrayado de vuelta a blanco cuando el EditText está en foco, puede agregar un estilo personalizado:

    <style name="MyTextInputLayoutStyle" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
        <item name="boxStrokeColor">@color/white</item>
    </style>
    

    Luego, aplique este estilo al TextInputLayout:

    <com.google.android.material.textfield.textinputlayout ...="" style="@style/MyTextInputLayoutStyle" ...="">
    

    Esto cambiará el color de subrayado de vuelta a blanco cuando el EditText está en foco.</com.google.android.material.textfield.textinputlayout>

Comments are closed.