【问题标题】:Listview item ripple showing over cell hiding contentsListview 项目波纹显示单元格隐藏内容
【发布时间】:2015-06-18 09:19:05
【问题描述】:
【问题讨论】:
标签:
android
listview
android-listview
ripple
【解决方案1】:
您是否为 ListView 中的项目指定了自定义背景?如果是这样,那么您需要为您的背景创建两个可绘制对象,一个在“drawable”文件夹中,另一个在“drawable-v21”文件夹中。
例如,如果drawable的文件名是“list_item_bg.xml”,那么
/drawable-v21/list_item_bg.xml 将是:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="4dp" />
<solid android:color="@color/accent" />
</shape>
</item>
</ripple>
和 /drawable/list_item_bg.xml 会是这样的:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/dark_accent" android:state_pressed="true"/>
<item android:drawable="@color/accent" android:state_focused="true"/>
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="4dp" />
<solid android:color="@color/accent" />
</shape>
</item>
</selector>
希望这会有所帮助。