我为列表项创建了一个自定义布局(使用LayoutInflator)。以下是相关文件:
my_list.xml - 具有ListView
的主要活动<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:listSelector="@drawable/listitem_selector"
>
</ListView>
list_item.xml - 引用drawable .png作为背景
机器人:背景= “@绘制/ list_item_bg”
listitem_selector.xml
<selector> <item android:state_focused="false" android:drawable="@drawable/list_item_bg" /> <item android:state_pressed="true" android:drawable="@drawable/list_item_pressed_bg" /> <item android:state_focused="true" android:drawable="@drawable/list_item_pressed_bg" /> </selector>
如果我不使用listitem_selector.xml来覆盖默认状态样式,我会得到丑陋的默认Android绿色/橙色颜色,但是否则布局看起来很好。当我使用listitem_selector.xml时,它会在每个列表项的顶部添加额外的空间。 (如果我使用较小的图像,它仍会增加空间)
这是一个截图:[编辑 - 不允许截图。]
如何在不添加奇怪空间的情况下覆盖默认列表项状态样式?
P.S。 - 我引用this very helpful帖子来获取我的位置。