sea*_*kej 7 user-interface android listview scroll scrollview
我在执行ListView与android:listSelector
<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>
Run Code Online (Sandbox Code Playgroud)
选择工作正常,但是当我开始滚动时,listSelector将随机挂到顶部或底部ListView.我将不胜感激任何帮助.

主要问题是您使用的是纯色而不是使用 Drawables。布局框架的一个缺点是,如果设置纯色,就会出现hold的问题。
您使用的代码:
<item name="android:listSelector">@color/red</item>
Run Code Online (Sandbox Code Playgroud)
应该用作:
<item name="android:listSelector">@drawable/list_view_selector</item>
Run Code Online (Sandbox Code Playgroud)
上面写的可绘制对象应该包含在选择器标签中。
这是 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>
Run Code Online (Sandbox Code Playgroud)
注意:您不能按原样使用纯色。您必须将每种色调的选择器设置为:
<?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>
Run Code Online (Sandbox Code Playgroud)
我最后检查过这一点。工作完美!
| 归档时间: |
|
| 查看次数: |
1125 次 |
| 最近记录: |