Android ListView选择器悬停
问题描述:
我正在努力与ListView
selector
。当用户将他的手指放在屏幕上时,我想在列表项目上显示灰色。就这样。当用户释放手指(或将其移动到其他地方)时,颜色应该始终回到白色。这是我的ListView
:Android 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
,则什么也不会发生。
答
好像你要使用的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"/>
不起作用解决,当我将手指移动到其他地方时颜色保持不变,它应该消失 – soommy12
您必须从默认颜色中删除此属性 –
哪些属性?来自哪里?那个评论对我说什么 – soommy12