ListView不会绘制View小部件

时间:2013-07-09 10:47:08

标签: android android-listview

我正在尝试在项目顶部创建带有蓝色叠加层的列表项。只有当用户触摸该项目时,才会显示蓝色叠加层。所以我放置了带有背景绘制的视图来覆盖整个项目。

现在的问题是 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"
        />

1 个答案:

答案 0 :(得分:2)

1)你可以列出选择器,以及选项 drawSelectoronTop

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

设置 drawSelectoronTop 为true将导致drawable绘制列表项(ForeGround)

2)如果列表选择器无法应用于您的特定设计,您可以使用FrameLayout作为列表项的parentView,前景属性

android:foreground="@drawable/list_selector"

有关详情,请参阅帖子Draw selector on top - for a basic linear layout?