web-dev-qa-db-fra.com

Comment changer la couleur de la bordure (non focalisée) d'un EditText?

J'ai changé la couleur d'arrière-plan du EditText en transperant. Maintenant, le EditText semble invisible lorsqu'il n'est pas concentré. Alors, comment puis-je changer la couleur de bordure non focalisée de EditText?

Quel est l'attribut XML pour cela?

37
Surjya Narayana Padhi

Créez un fichier XML avec les éléments suivants en dessin (par exemple backwithborder.xml):

<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:shape="rectangle">
    <solid Android:color="#00000000" />
    <stroke Android:width="1dip" Android:color="#ffffff" />
</shape>

et pour l'attribut utilisateur EditText Android:background="@drawable/backwithborder"

84
Vikram
10
Shruti

Android OS lui-même ajoute une bordure à EditText lorsque l'utilisateur se concentre dessus. La couleur dépend de la version du système d'exploitation. Parfois, nous pourrions vouloir nous débarrasser de la bordure de mise au point par défaut et il existe un moyen de le faire.

Nous pouvons garder la couleur d'arrière-plan transparente pour supprimer la bordure EditText sur le focus.

     <EditText 
         Android:layout_width="fill_parent"
         Android:layout_height="wrap_content"
         Android:background="#00000000"
      />
3
Sravani

Vous pouvez créer une disposition linéaire avec une couleur d'arrière-plan de la couleur souhaitée pour la bordure. Ensuite, placez le texte Modifier dans ce Linearlayout et donnez une couleur d'arrière-plan. Par exemple: si la bordure est grise, l'arrière-plan de Linearview est gris. et modifier l'arrière-plan du texte en noir.

pour la largeur de la bordure, vous pouvez donner padding = "1dp" pour border_width = "1dp".

2
mayuri

Il est trop tard pour répondre, mais j'ai écrit ce code pour les nouveaux développeurs:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:state_focused="true">
    <layer-list>
        <item>
            <shape Android:shape="rectangle">
                <stroke Android:width="2dp" Android:color="@color/components_colorPrimaryDark" />
                <solid Android:color="@color/components_white" />
            </shape>
        </item>

        <item Android:bottom="2dp">
            <shape Android:shape="rectangle">
                <solid Android:color="@color/components_white" />
            </shape>
        </item>
    </layer-list>
</item>
<item Android:state_focused="false">
    <layer-list>
        <item>
            <shape Android:shape="rectangle">
                <stroke Android:width="1dp" Android:color="@color/components_colorAccent" />
                <solid Android:color="@color/components_white" />
            </shape>
        </item>

        <item Android:bottom="1dp">
            <shape Android:shape="rectangle">
                <solid Android:color="@color/components_white" />
            </shape>
        </item>
    </layer-list>
</item>
1
jordiz