2011-06-02 9 views
16

Düzen ve görüntü için seçici kullanıyorum.Ama benim için çalışmıyor. Resim görünümünü görüntü düğmesine veya düğmesine değiştirdiğimde, iyi çalışıyor. Herhangi bir yardım büyükseçicisi pafta ve görüntü ile çalışmıyor

<?xml version="1.0" encoding="utf-8"?> 
<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- When selected, use grey --> 
    <item 
     android:state_pressed="true" 
     android:drawable="@drawable/bg" 
     /> 
    <!--<item 

     android:drawable="@drawable/bg" 
     android:state_focused="true"/> 
    When not selected, use white--> 

    <item 
     android:drawable="@drawable/bg_01" /> 
</selector> 

-> The layout xml : 
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:orientation="vertical" 
    android:layout_height="fill_parent"> 
    <ImageButton 
     android:layout_width="100dp" 
     android:layout_height="50dp" 
     android:text="layout tester" 
     android:textColor="#000000" 
     android:textStyle="bold" 
     android:paddingTop="10dp" 
     android:src="@drawable/testselector" 
     android:layout_gravity="center_horizontal" /> 
    </LinearLayout> 
+0

Peki, tam olarak sorun nedir? –

+0

Sanırım düzen seçiciyi desteklemiyor (Emin değilim). Şekil özelliğini daha iyi deneyin. Seçici için gidiyorsun? Birisi tam çözüm almak istiyorsa – David

+0

, bu depoyı kontrol edin: https://github.com/shamanland/AndroidLayoutSelector özel bir tıklanabilir/kontrol edilebilir '' 'LinearLayout'''' '' ToggleButton''' gibi –

cevap

59

Sadece şu anda bu soruna girdim. LinearLayout'u tıklanabilir yapmak zorundasınız. Bunun yerine ImageView kendisi için doğrusal düzen ve setclicklistener ait ImageView id kullanarak, işe yarayacak

yourLinearLayout.setClickable(true); 
+1

Awesome :) Bu sorun beni rahatsız etti :) – Warpzit

+0

Başar! Çok teşekkür ederim! –

+0

Harika !!! , Çok teşekkürler dostum! :) –

3

yerine lastread_ok & l resminizi kullanabileceğiniz bu

<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" 
      android:state_pressed="false" 
      android:drawable="@drawable/lastread_ok" /> 
    <item android:state_focused="true" 
      android:state_pressed="true" 
      android:drawable="@drawable/lastread_ok" /> 
    <item android:state_focused="false" 
      android:state_pressed="true" 
     android:drawable="@drawable/lastread_ok_selected" /> 
    <item android:drawable="@drawable/lastread_ok" /> 
</selector> 

deneyin .. Burada

kullandığım xmls olduğunu .. .. önceden takdir edilecek Teşekkürler astread_ok_selected

1

ile

android:clickable="true" 

ile Veya kodunda XML yapabilirsiniz ya !!

0

Benim için android:clickable özniteliği mizanpaja değil, bunun yerine ImageView öğesine atamaya yardımcı oldu. Sadece görüntüyü tıklatılabilir olsa da, içeriğin tıklanabilir olmasını istedim.

0

Sen ImageView için background

veya

ImageButton için src değiştirip ImageView nitelikleri de alse android:clickable="true" yazmak zorunda.