7 votes

Comment corriger la couleur rouge de l'arrière-plan de TextInputLayout lorsque isEmpty dans Android ?

Je veux setError quand TextInputLayout isEmpety J'ai écrit ce code, mais lorsque j'affiche le message d'erreur, je mets un arrière-plan rouge pour le message d'erreur. TextInputLayout !
Je le fais. ne pas vouloir Définissez le fond ! Je veux affiche juste un message d'erreur.

enter image description here

Mon code :

if (TextUtils.isEmpty(userName)) {
register_UserName_layout.setError("Insert Username");
}

Code XML :

<android.support.design.widget.TextInputLayout
    android:id="@+id/register_userUsernameTextLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/register_headerLayout"
    android:layout_margin="10dp"
    android:textColorHint="#c5c5c5">

    <EditText
        android:id="@+id/register_userUserNameText"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:background="@drawable/selector_bg_edit"
        android:hint="نام کاربری"
        android:paddingBottom="2dp"
        android:textColor="@color/colorAccent"
        android:textCursorDrawable="@drawable/bg_input_cursor"
        android:textSize="16sp" />
</android.support.design.widget.TextInputLayout>

Comment puis-je réparer cela ? Merci à tous <3

0voto

rivasyshyn Points 11

Dans mon cas, j'ai ajouté la ligne

<solid Android:color="@color/transparent"/>

<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android" >
    <stroke android:color="@color/lightGray" android:width="1dp"/>
    <solid android:color="@color/transparent"/>
    <padding android:top="7dp" android:bottom="7dp" android:left="7dp" android:right="7dp"/>
    <corners android:radius="2dp"/>
</shape>

le résultat est une bordure rouge seulement et non un fond entier

0voto

En résumé, vérifiez si votre EditText a une couleur de fond. Si c'est le cas, supprimez-la et mettez une couleur d'arrière-plan sur votre widget Input Layout à la place. Cela corrigera le problème de la grande boîte rouge. En tout cas, c'est ce qui s'est passé pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X