【问题标题】:Android change hover color of card view which is clickableAndroid更改可点击的卡片视图的悬停颜色
【发布时间】:2018-05-21 14:53:47
【问题描述】:

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

 //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>

我的卡片是可点击的我的问题是我可以在卡片视图中执行此操作

【问题讨论】:

标签: android android-cardview clickable


【解决方案1】:

Cardview 在使用选择器更改背景方面存在限制。如果您仍想继续这样做。您可以在前台应用选择器。

<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),以便卡片的内容可见。这并不理想,但取决于您的输出预期。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    相关资源
    最近更新 更多