web-dev-qa-db-fra.com

Changer la couleur de la ligne de EditText - Android

Puis-je changer la couleur du trait sur EditText. Quand est actif, il a une couleur verdâtre.Image

Est-il possible de changer uniquement la couleur de la ligne quand est actif, et comment puis-je faire cela ...?

11
KiKo

Vous devez définir la source d'arrière-plan pour un texte modifié.

  1. Générez-le http://Android-holo-colors.com/
  2. Que vous pouvez appliquer générés dessinés comme arrière-plan comme Android:background="@drawable/my_theme_edit_text" pour la EditText personnalisée. Vous pouvez également définir cet arrière-plan dans le thème de votre application. Vous trouverez des exemples dans le fichier .Zip de ce site.
10
Serhii Nadolynskyi

Vous voilà:

editText.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);
8
toni

Vous pouvez définir l’arrière-plan d’edittext sur un rectangle avec un remplissage moins à gauche, à droite et en haut pour y parvenir.

Voici l'exemple xml permettant de définir différentes couleurs de ligne pour un edittext ciblé et non ciblé; il suffit de le définir comme arrière-plan d'edittext.

<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item
        Android:top="-2dp"
        Android:left="-2dp"
        Android:right="-2dp"
        Android:bottom="2dp">
        <selector >
            <item Android:state_enabled="true"
                Android:state_focused="true">
                <shape
                    Android:shape="rectangle">
                    <stroke
                        Android:width="2dp"
                        Android:color="#6A9A3A"/>
                </shape>
            </item>
            <item Android:state_enabled="true">
                <shape
                    Android:shape="rectangle">
                    <stroke
                        Android:width="1dp"
                        Android:color="#000000"/>
                </shape>
            </item>
        </selector>
    </item>
</layer-list>
8
Sfseyhan

ajoutez à votre themes.xml cette ligne:

<item name="colorAccent">@color/black</item>

ceci définit la couleur par défaut pour colorControlActivated qui est utilisé pour teinter les widgets

8
dit

vous pouvez définir Android: backgroundTint = "@ color/blue" pour changer la couleur de la ligne de fond Edittext

5
Deep P
<EditText
            Android:id="@+id/editText1"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:gravity="center_vertical"
            Android:background="@drawable/text"
            Android:ems="10"
            Android:textColorHint="#fefefe"
            Android:hint="@string/text1"
            Android:textColor="#fefefe"
            Android:inputType="textEmailAddress"
            Android:layout_marginTop="10dp"
/>

Utilisez le code ci-dessous dans votre res/drawable/text.xml

<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
  <item Android:top="24.0dp">
   <shape >
      <solid Android:color="#fefefe"  />
   </shape>
   </item>
</layer-list>
3
sugansoft

J'ai eu le même problème Résolu en changeant la couleur de la backgroundTint comme suit - 

Android: backgroundTint = "@ color/light_color"

0
Kaveri

Vous pouvez utiliser le Android:background = "@color/black" for the api 21 ou supérieur 21 (Ceci s'appliquera au périphérique Lollypop ou aux versions précédentes) et pour les versions précédentes, vous devrez utiliser le style du texte edittext.

0
Prabha Karan

Si vous utilisez TextInputLayouts for EditText, nous devrions modifier les propriétés suivantes.

<item name="colorControlNormal">#c5c5c5</item>
<item name="colorControlActivated">@color/your color</item>
<item name="colorControlHighlight">@color/your color</item>

Par défaut, couleur est colorAccent.

0
Kona Suresh