我在自定义视图中实现选择器时遇到问题。我已经搜索了过去 1 小时,但找不到解决方案。我有带有图像视图、一些文本视图和九个补丁背景的自定义视图,但问题是当它处于按下状态时,选择器的颜色不会覆盖图像视图。
对于实现,我使用背景选择器进行布局,我只是在按下和未按下状态下更改 9 个补丁图像,然后在列表视图中禁用默认选择器。
你有更好的解决方案吗?我在 google play 中看到,蓝色选择器覆盖了所有视图,这就是我想要的。
对于 xml,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/touch_selector"
android:orientation="horizontal"
android:padding="16dp" >
<ImageView />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView />
<TextView />
</LinearLayout>
</LinearLayout>
对于触摸选择器
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/card_background_pressed" android:state_focused="true"/>
<item android:drawable="@drawable/card_background_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/card_background_white" android:state_focused="false" android:state_pressed="false"/>
</selector>
其中 card_background 是 9 个补丁图像。
编辑 :
这是来自谷歌播放的例子,