2012-11-18 16 views
22

Durum düğmesine basarak bir düğmeyi yapmaya çalışıyorum ve seçin, Zaten aynı sekmelerle çalıştım ve işe yarıyor ama neden burada çalışmıyor bilmiyorum. böyle yapmış:Android düğmesi seçin ve çizilebilir basın

button_sel.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
    <gradient android:startColor="@color/azulado" 
       android:endColor="@color/azulBrillante" 
       android:angle="270" /> 
    <corners android:radius="@dimen/corner_radius" /> 
    <stroke android:width="2px" 
      android:color="@color/blanco" /> 
</shape> 

button_unsel.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
    <gradient android:startColor="@color/botonesD" 
       android:endColor="@color/botones" 
       android:angle="270" /> 
    <corners android:radius="@dimen/corner_radius" /> 
    <stroke android:width="2px" 
      android:color="@color/blanco" /> 
</shape> 

Ve seçici, button.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/button_sel" 
      android:state_selected="true" 
      android:state_pressed="true"/> 
<item android:drawable="@drawable/button_unsel" 
     android:state_selected="false" 
     android:state_pressed="false"/> 
</selector> 

Ve burada Bir arka plan olarak çizilebilir olarak adlandırın:

<style name="button"> 
    <item name="android:background">@drawable/button</item> 
    <item name="android:textSize">@dimen/text_size</item> 
    <item name="android:padding">@dimen/padding_button</item> 
    <item name="android:textColor">@color/blanco</item> 
</style> 

Teşekkür ederim !!!!

cevap

48

Seçicinizdeki ilk öğe sadece, tuşa basıldığında VE seçildiğinde kullanılır. Eğer düğmeye basıldığında YA seçildiğinde button_sel kullanmak istiyorsanız, böyle bir şey yapmalıdır:

ürün yukarıdan aşağıya doğru değerlendirilir
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/button_sel" android:state_selected="true" /> 
    <item android:drawable="@drawable/button_sel" android:state_pressed="true" /> 
    <item android:drawable="@drawable/button_unsel" /> 
</selector> 

, sonuncusu varsayılan değerdir. Her ne kadar state_selected düğmeler için anlamlı olup olmadığından emin değilim.

+2

teşekkür ederiz. O oldu! – croigsalvador

5

Şekil içi satır öğesi kullanabilir. numune için

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:state_pressed="true" > 
      <shape....> 
     </item> 
     <item android:state_selected="true" > 
      <shape....> 
     </item> 
     <item android:state_pressed="true" android:state_selected="true" > 
      <shape...> 
     </item> 
    </selector> 

:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" > 
     <shape 
      android:shape="rectangle"> 
      <gradient android:startColor="@color/md_amber_300" 
       android:endColor="@color/md_amber_50" 
       android:angle="270" /> 
      <corners android:radius="@dimen/fab_margin" /> 
      <stroke android:width="2px" 
       android:color="@color/primaryColorDark_orange" /> 
     </shape> 
    </item> 
    <item android:state_pressed="true" > 
     <shape 
      android:shape="rectangle"> 
      <gradient android:startColor="@color/md_amber_300" 
       android:endColor="@color/md_amber_50" 
       android:angle="270" /> 
      <corners android:radius="@dimen/fab_margin" /> 
      <stroke android:width="2px" 
       android:color="@color/primaryColorDark_orange" /> 
     </shape> 
    </item> 
    <item android:state_pressed="true" android:state_selected="true" > 
     <shape 
      android:shape="rectangle"> 
      <gradient android:startColor="@color/md_teal_500" 
       android:endColor="@color/md_blue_400" 
       android:angle="270" /> 
      <corners android:radius="@dimen/fab_margin" /> 
      <stroke android:width="2px" 
       android:color="@color/md_amber_A400" /> 
     </shape> 
    </item> 
</selector> 
İlgili konular