2012-06-03 66 views
2

我製作了一個包含圖片和textview的自定義列表。在設置樣式時,選擇器不可見。樣式使用setTheme(R.style.rose)調用;在創建Listactivity的方法作爲第一個調用。 但是,如果沒有顏色用作背景(或風格中的背景線被評論),則橙色選擇器可見。但不是當背景Android listlist在自定義列表視圖中不可見

listSelector

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

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

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

風格

<style name="rose"> 
    <item name="android:textColor">@color/pink</item> 
    <item name="android:background">@color/rose</item> 
    <item name="android:cacheColorHint">@color/rose</item> 

    <item name="android:listSelector">@drawable/listitem_selector</item> 
</style> 

回答

11

Android首次繪製ListView的背景,以及分隔。然後,系統繪製列表選擇器。最後,ListView呈現所有項目視圖。因此,該列表選擇將永遠不會看到不透明的背景設置爲itemviews

http://android.cyrilmottier.com/?p=454

enter image description here

+6

您可以指定通過設置'drawSelectorOnTop'爲true(HTTP吸取itemviews頂部的選擇:/ /developer.android.com/reference/android/widget/AbsListView.html#attr_android:drawSelectorOnTop) – Jelle

+3

@Jelle然而,選擇器也會覆蓋項目文本(所以如果你有相同的選擇器,你將看不到你的項目) –

+0

Jelle &Alex都是對的。在我的情況下,我有listview,其中列表項完全覆蓋了一個imageview。所以我需要在給出它的選項的時候顯示選擇器。例如: - 顏色 - #80000000(淺黑色) –