2011-05-18 2 views
1

Ceci est ma formeje dois montrer un bouton pression sur une forme qui est mon fond pour mon bouton

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient 
     android:startColor="#80000000" 
     android:endColor="#80FFFFFF" 
     android:angle="45"/> 
    <padding android:left="7dp" 
     android:top="7dp" 
     android:right="7dp" 
     android:bottom="7dp" /> 
    <corners android:radius="10dp" /> 
</shape> 

Ce que je veux pour le bouton pressé

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient 
     android:startColor="#80FFFFFF" 
     android:endColor="#80000000" 
     android:angle="45"/> 
    <padding android:left="7dp" 
     android:top="7dp" 
     android:right="7dp" 
     android:bottom="7dp" /> 
    <corners android:radius="10dp" /> 
</shape> 

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
      android:drawable="@drawable/button_pressed" /> <!-- pressed --> 
    <item android:state_focused="true" 
      android:drawable="@drawable/button_focused" /> <!-- focused --> 
    <item android:drawable="@drawable/button_normal" /> <!-- default --> 
</selector> 

J'ai essayé ce code pour lier les deux formes mais quand je l'ai mis en arrière-plan, mon bouton est devenu gris par défaut.

et j'ai ajouté le sélecteur à l'arrière-plan de mon bouton, il a la bonne opacité comme il est mais je l'ai besoin pour montrer une couleur différente (comme le blanc ou quelque chose) quand il est cliqué.

n'importe qui une idée?

Répondre

7

je le fais de cette façon:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/btn_bg_pressed"/> 
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/btn_bg_pressed"/> 
    <item android:state_focused="true" android:drawable="@drawable/btn_bg_selected"/> 
    <item android:state_focused="false" android:state_pressed="false" android:drawable="@android:color/transparent"/> 
</selector> 

C'est ce que je l'habitude d'utiliser pour mon thème

+0

Merci pour ce - ce sont btn_bg_pressed et btn_bg_selected? sont-ils des images? – MrCloister

+0

oui, sont 9patched png – yeradis

+0

Merci! Je l'ai juste substitué pour mes formes et cela fonctionne - bien cela fonctionne sur l'émulateur et pas mon téléphone - mais je suspecte que c'est mon téléphone :). – MrCloister

Questions connexes