悬停时的Android ListView选择器

时间:2017-09-21 14:36:38

标签: android listview selector

我正在努力ListView selector。当用户将手指放在屏幕上时,我希望列表项上有灰色。就这样。当用户松开手指(或将其移动到其他地方)时,颜色应该一直变回白色。这是我的ListView

<ListView android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:duplicateParentState="true"
          android:textAppearance="?android:textAppearanceMedium"
          android:drawSelectorOnTop="false"
          android:listSelector="@drawable/my_list_selector"
          android:id="@+id/list"/>

这是selector

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/colorPrimary"
          android:state_activated="true"/>
    <item android:drawable="@color/colorPrimaryDark"
          android:state_activated="false"/>
</selector>

我在这里做错了什么?

P.S。如果以相反的方式给出truefalse,则不会发生任何事情。

1 个答案:

答案 0 :(得分:3)

好像您想使用android:state_pressed代替android:state_activated

代码

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/colorPrimary"
          android:state_pressed="true"/>
    <item android:drawable="@color/colorPrimaryDark"/>
</selector>

与OP和@pskink讨论后,问题已解决

   <item android:state_window_focused="false" android:drawable="@color/transparent"/>