Puis-je changer la couleur du trait sur EditText
. Quand est actif, il a une couleur verdâtre.
Est-il possible de changer uniquement la couleur de la ligne quand est actif, et comment puis-je faire cela ...?
Vous devez définir la source d'arrière-plan pour un texte modifié.
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.Vous voilà:
editText.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);
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>
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
vous pouvez définir Android: backgroundTint = "@ color/blue" pour changer la couleur de la ligne de fond Edittext
<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>
J'ai eu le même problème Résolu en changeant la couleur de la backgroundTint comme suit -
Android: backgroundTint = "@ color/light_color"
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.
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.