2017-09-24 18 views
1

Voici mon action_btn_state drawableComment définir l'arrière-plan, la couleur du texte et les coins sur l'état de clic du bouton?

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" 
    android:drawable="@color/colorAccent" 
    android:color="@color/white"> 
    <shape> 
     <stroke 
      android:width="1dp" 
      android:color="@color/action_btn_border" /> 
     <corners 
      android:radius="3dp" /> 
    </shape> 

</item> 

<item android:state_focused="true" 
    android:drawable="@color/colorAccent" 
    android:color="@color/white"> 
    <shape> 
     <stroke 
      android:width="1dp" 
      android:color="@color/action_btn_border" /> 
     <corners 
      android:radius="3dp" /> 
    </shape> 
</item> 

<item 
    android:drawable="@null" 
    android:color="@color/colorAccent" > 
    <shape> 
     <stroke 
      android:width="1dp" 
      android:color="@color/action_btn_border" /> 
     <corners 
      android:radius="3dp" /> 
    </shape> 

</item> 

Ceci est ma mise en page

<Button 
      android:layout_width="70sp" 
      android:layout_height="30sp" 
      android:layout_marginRight="8sp" 
      android:padding="0sp" 
      android:layout_gravity="center" 
      android:textColor="@color/msg_item_action_btn" 
      android:background="@drawable/action_btn_state" 
      android:text="Like"/> 

Et voici ma sortie, j'ai pris la capture d'écran lors de la première touche est clicked.As vous pouvez voir il n'a pas de coins arrondis, la couleur n'est pas changée en blanc et l'ombre par défaut arrive, ce dont je ne veux pas. Quelqu'un peut-il aider comment puis-je y parvenir.

enter image description here

Répondre

0

Vous devez utiliser un sélecteur pour différents états de votre bouton comme pressé, concentré, ... états dans un fichier xml séparé et réglez-le pour votre bouton de fond Voici un exemple de code pour sélecteur d'un bouton:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/action_btn_state" /> 
    <item android:state_pressed="true"android:drawable="@drawable/action_selected"/> 
</selector> 

Vous pouvez définir un autre fichier xml pour l'état pressé avec votre tour et la couleur et réglé dans ce sélecteur.