2010-11-08 59 views
3

我有這樣的列表視圖元素:安卓:ListView的圓角通過列表項隱藏

<ListView 
android:id="@+id/category_list" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:layout_weight="1" 
android:background="@drawable/list_background" 
android:layout_marginTop="10sp" 
android:layout_marginLeft="10sp" 
android:layout_marginRight="10sp" 
android:drawSelectorOnTop="false" 

android:listSelector="@drawable/list_item_background"   
android:cacheColorHint="#FFFFFF"    

android:clipToPadding="true" 
android:focusable="true" 
android:focusableInTouchMode="true"  
android:clickable="true"  
android:longClickable="true" 

android:footerDividersEnabled="true" 
android:headerDividersEnabled="true" 
android:dividerHeight="1px" 

/> 

其中list_background是:

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <corners android:radius="10dp" /> 
    <solid android:color="#FFFFFF"/> 
</shape> 

列表視圖負載本身就帶有圓角,但隨後,該列表中的項目隱藏了圓角。

我在做什麼錯?

+0

在上面的ListView中,ListView的第一行不會保留四捨五入..你能指出我背後的原因嗎? – 2012-09-13 13:00:50

回答

4

我已經找到了解決問題的辦法。

我正在使用android:cacheColorHint設置與我想要的ListView背景相同的顏色,這導致在滾動列表和滾動後有隱藏的圓角。

因此,將其設置爲「透明」(#0000)解決了問題!

+0

在上述解決方案中,ListView的第一行不會保留四捨五入..你能指出我背後的原因嗎? – 2012-09-13 13:00:04

+0

其實它適合我。看到你的代碼檢查是否有什麼錯誤會很有用。 – 0m4r 2012-09-17 12:50:19

0

也許你要禁用列表中的單個項目的背景,使之透明,以便它不覆蓋列表

+0

我已經做好了,沒有運氣:S – 0m4r 2010-11-08 17:40:06