在ListView中挂起listSelector
我使用android:listSelector
实现ListView
<style name="ListView" parent="@android:style/Widget.ListView">
<item name="android:cacheColorHint">@color/transparent</item>
<item name="android:divider">@drawable/divider</item>
<item name="android:dividerHeight">1px</item>
<item name="android:listSelector">@color/red</item>
</style>
选择工作正常,但是当我开始滚动时, listSelector
将随机挂在ListView
顶部或底部。 我将不胜感激任何帮助。
主要问题是您使用纯色而不是使用Drawable。 这是布局框架的一个缺点,如果你设置纯色,那么就会出现保持问题。
您使用的代码为:
<item name="android:listSelector">@color/red</item>
应该用作:
<item name="android:listSelector">@drawable/list_view_selector</item>
上面的书写drawable应该包含在选择器标签中。
这是list_view_selector的代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_enabled="true"
android:state_pressed="true" android:drawable="@drawable/background_selected" />
<item android:state_enabled="true"
android:state_focused="true" android:drawable="@drawable/background_selected" />
<item android:state_enabled="true"
android:state_selected="true" android:drawable="@drawable/background_selected" />
</selector>
注意:您无法按原样使用纯色。 您必须为每种色调制作选择器,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:angle="90"
android:centerColor="#ff0000"
android:endColor="#ff0000"
android:startColor="#ff0000" />
</shape>
我在我的最后检查了这个。 完美工作!
链接地址: http://www.djcxy.com/p/64483.html