安卓:ListView的圆角被列表项遮挡

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> 
  • 列表视图会加载带有圆角的自身,但是列表项会隐藏这些圆角。
  • 我做错了什么?

在上面的ListView中,ListView的第一行没有保持圆角..你能告诉我背后的原因吗? - Haresh Chaudhary
2个回答

4
我已经找到了这个问题的解决方案。
我之前使用了android:cacheColorHint设置与ListView背景相同的颜色,导致在滚动列表后,圆角部分被隐藏了。
因此,将其设置为“透明”(#0000)解决了这个问题!

在上面的解决方案中,ListView 的第一行没有保持圆角...你能告诉我背后的原因吗? - Haresh Chaudhary
实际上对我来说是有用的。看看你的代码是否有问题会很有帮助。 - 0m4r

0
也许你需要禁用列表中单个项目的背景,使其透明化,以便它不会覆盖列表。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接