背景不同于项目的列表视图
Listview with background different than item
我正在尝试创建一个列表视图,其中包含具有不同颜色背景的项目,如下图所示。
但是,我通过在项目的布局中设置背景颜色来实现这一点。现在当我点击项目时,没有反馈(例如没有背景时提供的点击和涟漪效果)。
有没有办法在不丢失 select 上的默认反馈的情况下将这些项目设置为不同于背景的颜色?如果不是,创建 selector 的常用技术是什么?
在 /res/drawable/ 中创建一个 list_item_bg.xml :
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/bg_pressed" />
<item android:drawable="@drawable/bg_normal" />
</selector>
现在 listitem.xml 布局:
<LinearLayout
android:background="@drawable/list_item_bg"
... />
这将允许您在正常和按下状态下拥有两种不同的背景。
我正在尝试创建一个列表视图,其中包含具有不同颜色背景的项目,如下图所示。
但是,我通过在项目的布局中设置背景颜色来实现这一点。现在当我点击项目时,没有反馈(例如没有背景时提供的点击和涟漪效果)。
有没有办法在不丢失 select 上的默认反馈的情况下将这些项目设置为不同于背景的颜色?如果不是,创建 selector 的常用技术是什么?
在 /res/drawable/ 中创建一个 list_item_bg.xml :
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/bg_pressed" />
<item android:drawable="@drawable/bg_normal" />
</selector>
现在 listitem.xml 布局:
<LinearLayout
android:background="@drawable/list_item_bg"
... />
这将允许您在正常和按下状态下拥有两种不同的背景。