这是我在CardView上的代码:
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/tools"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/item_home_device_card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:foreground="?android:attr/selectableItemBackground"
android:clickable="true"
card_view:cardCornerRadius="@dimen/cardview_default_radius"
card_view:cardElevation="@dimen/card_elevation_raised"
card_view:cardUseCompatPadding="true"
card_view:contentPadding="@dimen/padding_card">
...
</android.support.v7.widget.CardView>
我没有任何改变默认颜色的线索,请帮帮我。 提前谢谢。
答案 0 :(得分:0)
您可以通过定义自己的选择器drawable来更改它。以下是selectableItemBackground
的内容。创建一个新的可绘制资源文件并将此选择器放入其中,并根据需要进行更改。
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="@android:integer/config_mediumAnimTime">
<item android:state_window_focused="false" android:drawable="@color/transparent" />
<!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
<item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="true" android:drawable="@drawable/list_selector_background_focused" />
<item android:drawable="@color/transparent" />
</selector>
答案 1 :(得分:0)
在您的代码中,
android:foreground="?android:attr/selectableItemBackground"
占用默认颜色。如果您想要修改自定义颜色,请使用自定义绘图并将其包含在您的cardview中,如下所示。
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:clickable="true"
android:foreground="@drawable/custom_bg"/>
对于您在上面的代码中可以看到的custom_bg,您必须在drawable包中定义一个xml文件。因此,在预棒棒糖设备上,您将获得稳定的点击效果,在棒棒糖及以上设备上,您将对具有指定自定义背景的cardview产生连锁反应。