2011-12-05 19 views
6

Her liste öğesinin RelativeLayout'a dayalı özel bir düzen olduğunu, tıklanabilir ve özel bir seçiciye sahip bir ListViewim var. En artı, aynı zamanda tıklanabilir ve kendi seçiciye sahip bir alt RelativeLayout vardır. BöyleGörünüm kendi çekiliş durumunu (basılmış, vb ...) ana sayfasından alır

şey:

--------------- 
|    | 
|   ___ | 
|  | | | 
--------------- 

Her şey mükemmel çalışıyor ancak sorun ebeveyni göreli düzeni tıkladığımda, çocuk seçici ebeveyn seçicinin durumunu varsayar olmasıdır. Çocuğun üzerinde

'u ayarlamaya çalıştım ancak hiçbir şey değişmedi.

Herhangi bir fikrin var mı? Şimdiden teşekkürler.

cevap

2

ListView'ın öğesinin ve seçicilerinizin kodunu gösterebilir misiniz? Aklımda uygulandığında bazı hatalar yaptın. İşte benim öğe örneğim ve seçmenleri. Bu benim için çalışıyor:

benim uygulanması nasıl çalıştığını Video: >click to open<

list_view_item.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="40dp" 
    android:background="@drawable/relative_selector"> 

    <RelativeLayout 
     android:layout_width="300dp" 
     android:layout_height="100dp" 
     android:background="@drawable/child_selector_1" 
     android:clickable="true"> 

     <RelativeLayout 
      android:layout_width="100dp" 
      android:layout_height="100dp" 
      android:layout_centerHorizontal="true" 
      android:background="@drawable/child_selector_2" 
      android:clickable="true"/> 
    </RelativeLayout> 
</RelativeLayout> 

relative_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <inset xmlns:android="http://schemas.android.com/apk/res/android"> 
      <shape android:shape="rectangle"> 
       <solid android:color="@android:color/holo_blue_bright" /> 
      </shape> 
     </inset> 
    </item> 
</selector> 

child_selector_1.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <!-- pressed state --> 
    <item android:state_pressed="true"> 
     <inset xmlns:android="http://schemas.android.com/apk/res/android"> 
      <shape android:shape="rectangle"> 
       <solid android:color="@android:color/holo_orange_dark" /> 
      </shape> 
     </inset> 
    </item> 

    <!-- focused state --> 
    <item android:state_focused="true"> 
     <inset xmlns:android="http://schemas.android.com/apk/res/android"> 
      <shape android:shape="rectangle"> 
       <solid android:color="@android:color/holo_orange_dark" /> 
      </shape> 
     </inset> 
    </item> 

    <!-- normal state --> 
    <item> 
     <inset xmlns:android="http://schemas.android.com/apk/res/android"> 
      <shape android:shape="rectangle"> 
       <solid android:color="@android:color/holo_red_dark" /> 
      </shape> 
     </inset> 
    </item> 
</selector> 
İlgili konular