Android 悬停时的 ListView 选择器
Android ListView selector on hover
我正在与 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
以相反的方式给出,则不会发生任何事情。
您似乎想使用 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"/>
我正在与 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
以相反的方式给出,则不会发生任何事情。
您似乎想使用 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"/>