2017-08-09 12 views
0

Je veux changer la couleur de TextView sur différents états par exemple sur pressé, sur concentré etc. J'utilise encore le code suivant, et j'ai besoin d'un ajout qui change la couleur de TextView.Changer la couleur de TextView sur différents états

<?xml version="1.0" encoding="UTF-8"?> 
<layer-list 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape> 
      <stroke android:width="1dp" android:color="#FFFFFF" /> 
      <corners android:radius="2dp"/> 
      <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" /> 
     </shape> 
    </item> 
    <item> 
     <ripple 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:color="?android:attr/colorControlHighlight" android:state_pressed="true"> 
      <item 
       android:id="@android:id/mask" 
       android:drawable="@color/colorBackgroundDark"></item> 
     </ripple> 
    </item> 
</layer-list> 

Répondre

1

Avez-vous essayé d'utiliser un sélecteur drawable? Dans cet exemple, j'ai différents tirages pour appuyer sur un bouton ou non. Il existe d'autres états que vous pouvez utiliser comme actif, porté ... plus tard je fais juste ce

  <Button 
       android:id="@+id/first_day_forward" 
       android:layout_width="0dp" 
       android:layout_height="36dp" 
       android:layout_marginEnd="15dp" 
       android:layout_marginTop="2dp" 
       android:layout_weight="2" 
       android:background="@drawable/background_filter_button_square" 
       android:text="&gt;" 
       android:textAppearance="@style/fontMontseratReg" 
       android:textColor="@drawable/filter_text_button" /> 

Dans l'exemple j'ai utilisé un bouton, mais je pense qu'il fonctionne avec texte Voir aussi bien.

Pour modifier le remplissage dans votre balise xml forme utilisation solide, comme ceci:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#ffffff"/> 
    <corners android:radius="3dp"/> 
</shape> 

En cas vous pouvez faire quelque chose comme ceci:

<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="false"> 
     <shape> 
      <stroke android:width="1dp" android:color="#FFFFFF" /> 
      <corners android:radius="2dp"/> 
      <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" /> 
     </shape> 
    </item> 
    <item android:state_pressed="true"> 
     <ripple 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:color="?android:attr/colorControlHighlight" > 
      <item 
       android:id="@android:id/mask" 
       android:drawable="@color/colorBackgroundDark"></item> 
     </ripple> 
    </item> 
</selector> 
+0

Merci pour votre réponse . J'ai essayé le sélecteur, mais il ne me donne aucune sortie. – Mohsiniii

+0

J'ai montré mon code, pourriez-vous s'il vous plaît me dire où je dois mettre sélecteur ?? – Mohsiniii

+0

jetez un oeil à l'édition –