2015-05-09 15 views
5

Basıldığında dalgalanan bir çizim oluşturmaya çalışıyorum, ancak view.setSelected(true) çağrıldığında, arka plan için düz bir renk tutar.Basıldığında dalgalanan, ancak seçildiğinde düz renk veren Android arka planı?

şu dosya benim çekilebilir-V21 klasöre yerleştirilir: Yukarıda denedim

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true"> 
     <color android:color="@color/green_primary" /> 
    </item> 

    <item android:state_pressed="true"> 
     <ripple android:color="@color/green_primary"> 
      <item android:id="@android:id/mask"> 
       <shape android:shape="rectangle"> 
        <solid android:color="@color/green_selected" /> 
       </shape> 
      </item> 
     </ripple> 
    </item> 
</selector> 

ve seçilip seçilmediğini sağlam bir arka plan tutar, ancak bir dalga etkisi yoktur Daha ziyade sadece bir fade-in etkisi. Seçicisiz dalgalanma varsa, basıldığında doğru şekilde dalgalanır, ancak açık bir şekilde selected durumum yok. İkisini de tek bir arka plana sahip olarak nasıl pişirebilirim?

cevap

10

Ne yapmanız gereken geçerli:

1. ayarlamak için drawable klasörde button_selector.xml dosyası oluşturun

<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
     android:color="@color/green_primary"> 
    <item android:drawable="@drawable/green_primary"/> 
</ripple> 

2. drawable-v21 klasörde ripple_effect.xml dosyası oluşturun seçilen durum rengi.

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" 
      android:drawable="@color/green_selected"/> 
    <item android:drawable="@drawable/ripple_effect"/> 
</selector> 
+0

Teşekkürler. Bir çekicilik gibi çalıştı :-) – spierce7

+0

hoş geldiniz ..... :) – iMDroid

+0

Bu seçiciler ve dalgalanma ile yuvarlatılmış köşeler nasıl dahil edilir? –

İlgili konular