2013-07-09 31 views
0

我正在嘗試在項目頂部創建具有藍色疊加層的列表項。只有用戶觸摸該項目時纔會顯示藍色覆蓋圖。所以我將放置背景的視圖放置到可以覆蓋整個項目的位置。ListView not draw查看小工具

現在的問題是,這個View從來沒有得到繪製。我可以將背景切換爲簡單的顏色,並且不會出現。如果我將它改爲TextView,文本將會顯示,但不會覆蓋整個項目。我究竟做錯了什麼?

佈局得到更新肯定,如果我改變任何TextView的顏色,它會適用相應的變化。

下面是列表項目的佈局。

<?xml version="1.0" encoding="utf-8"?> 

..<!-- other stuff -->.. 

<View 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:background="@drawable/item_overlay" 
     android:duplicateParentState="true" 
     android:visibility="visible" 
     /> 

+0

你的意思是,當列表項按下你想它的顏色被改變,是這樣嗎? –

+0

是的,但讓我具體。我知道如何使背景選擇器可繪製來更改背景顏色。但我想要一個疊加顏色,它位於列表項佈局中的ImageView和TextView上。 – RobGThai

回答

2

1)您可以列表選擇,與選項drawSelectoronTop沿

<ListView android:listSelector="@drawable/list_selector" 
    android:drawSelectorOnTop="true"> 
</ListView> 

設置drawSelectoronTop真正將導致繪製繪製在列表項目(前景)

2)如果列表中選擇不能被應用到你的特殊設計,可以使用的FrameLayout作爲列表項的parentView,與前景財產

android:foreground="@drawable/list_selector" 

了更多關於這一點,你可以參考後Draw selector on top - for a basic linear layout?

+0

這不完全是我所要求的,但是對於我想要做的事來說,這是更好的答案:D。非常感謝。 – RobGThai