2017-07-24 10 views
0

Je voudrais changer la couleur de la ligne editTexts grammaticalement si elle est focalisée.Paramétrer par défaut la couleur de surbrillance editText

Je l'ai déjà essayé d'utiliser un colorStateList

int[][] states = new int[][]{ 
       new int[]{android.R.attr.state_focused}, 
       new int[]{android.R.attr.state_active },  
       new int[]{ -android.R.attr.state_enabled}, 
       new int[]{android.R.attr.state_enabled}, 
     }; 

     int[] colors = new int[]{ 
       highlightColor, 
       defaultColor, 
       defaultColor, 
       defaultColor 
     }; 

     ColorStateList myList = new ColorStateList(states, colors); 
     editText.setBackgroundTintList(myList); 

Je suis en mesure de changer la couleur normale de la ligne, mais la mise au point est toujours la couleur par défaut pour editTexts dans l'application.

cette valeur par défaut est gris, focalisée est par défaut de l'application permet de dire vert, mais je veux une laisse dire rouge porté

réponses dans le fil proposé sont basé sur XML, je dois le mettre dynamicly, aussi SEULEMENT la couleur de surbrillance/focalisée est différente, la couleur normale reste grise

+0

Copie possible de [Modification de la couleur de la ligne de fond EditText avec appcompat v7] (https://stackoverflow.com/questions/26574328/changing-edittext-bottom-line-color-with-appcompat-v7) – noongiya95

Répondre

0

Créez un EditText personnalisé et ajoutez this.setBackgroundTintList(ColorStateList.valueOf(color)); dans le constructeur.