android - 在 ListView 中挂起 listSelector

标签 android listview user-interface scroll scrollview

我正在使用 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 的顶部或底部。如果有任何帮助,我将不胜感激。

Hanged listSelector

最佳答案

主要问题是您使用的是纯色而不是 Drawable。布局框架的一个缺点是如果你设置纯色,就会出现hold的问题。

您用作的代码:

<item name="android:listSelector">@color/red</item>

应该用作:

    <item name="android:listSelector">@drawable/list_view_selector</item> 

上面写的drawable要放在selector标签里。

这是 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>

我已经检查过了。工作完美!!

关于android - 在 ListView 中挂起 listSelector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12755088/

相关文章:

android - 如何为 ListView 行创建类似列的布局?

不使用 jQuery-Mobile 的 jQuery-Mobile ListView 插件

Android:滑动列表项导致 clickOnItem

wpf - 在 WPF 中创建国际象棋 GUI

java - 已重置的 JTable 的 ActionListener

android - PhoneGap Geolocation 在特殊设备上总是超时

多模块应用的 Android 测试覆盖率报告

user-interface - 在没有窗口/GUI 的情况下运行 Pygame

android - 无法在android studio中打开或开发应用程序

android - 如何在sqlite db中部署android应用程序?