2010-06-18 27 views
6

我想爲我的ExpandableListView創建自定義背景選擇器。它適用於所有其他州以外的州。我無法確定當前哪一行是關注的。下面是代碼:android自定義列表視圖背景焦點狀態不工作

im_selector.xml

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

    <item android:state_focused="true" 
     android:drawable="@drawable/list_selector_background_focus" /> 
    <item android:state_pressed="true" 
     android:drawable="@drawable/list_selector_background_pressed" /> 

    <item 
     android:drawable="@drawable/list_bg" /> 

</selector> 

我在佈局文件列表視圖

<ExpandableListView android:id="@+id/android:list" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:scrollbars="horizontal" 
       android:layout_below="@id/top_bar" 
       android:layout_marginBottom="45px" 
       android:divider="#00000000" 
       android:cacheColorHint="#00000000" 
       android:listSelector="@layout/im_selector" 
       android:focusable="true"    
      /> 
+1

,修改您的列表視圖,這樣你有'機器人:layout_height =「0dp」' – 2014-01-29 09:59:05

回答

8

當您使用觸摸模式的ListView, '選擇' 屬性的變化,而而不是「專注」。這就是爲什麼,列表視圖,你應該添加一行像這樣一個在您的選擇:順便說

<item 
    android:state_selected="true" android:drawable="@drawable/list_selector_background_focus" /> 
+0

它的工作。謝謝。 – Adnan 2010-06-21 05:28:53