我正在努力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。如果以相反的方式给出true
和false
,则不会发生任何事情。
答案 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"/>