Android 更改可点击的卡片视图的悬停颜色

Android change hover color of card view which is clickable

我试图在有人点击我的名片视图时更改它的颜色。到目前为止,我已尝试使用以下代码:

 //drawable/selector.xml
<?xml version="1.0" encoding="utf-8"?>
   <selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_pressed="true"android:drawable="@color/button_pressed"/> <!-- pressed -->
   <item android:state_focused="true" android:drawable="@color/button_focused"/> <!-- focused --> 
  <item android:drawable="@color/button_default"/> <!-- default -->
</selector>

这是我的选择器代码,当我在下面的按钮代码中使用它时,它非常有效:

<Button
  android:id="@+id/button1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:background="@drawable/selector"
  android:text="Click Me"
 />

我正在尝试在卡片视图中执行此操作 我在卡片视图中看不到任何内容 我正在使用这样的选择器:

  <android.support.v7.widget.CardView
    android:foreground="?android:attr/selectableItemBackground"
    android:clickable="true"
    android:layout_width="170dp"
    android:layout_height="150dp"
    android:layout_margin="4dp"
    android:onClick="economy"
    android:background="@drawable/selector"
    >
   </android.support.v7.widget.CardView>

我的卡片是可点击的我的问题是我可以在卡片视图中这样做吗

Cardview 在使用 selector.If 更改背景方面存在限制,您仍想继续进行。您可以在前台应用选择器。

<android.support.v7.widget.CardView
   android:foreground="@drawable/selector"  // change
    android:clickable="true"
    android:layout_width="170dp"
    android:layout_height="150dp"
    android:layout_margin="4dp"
    android:onClick="economy"
    >
   </android.support.v7.widget.CardView>

并为您在选择器上应用的颜色添加 alpha(例如:#55FFFFFF),以便卡片的内容可见。这并不理想,但取决于您的输出预期。