在 CardView 悬停时更改背景颜色
Change background color on hover of a CardView
我想在 Android Studio 中为我的 CardView 更改背景颜色,我想使用选择器,但我不知道该怎么做
这在我的代码中:
<androidx.cardview.widget.CardView
android:id="@+id/card_ordina"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
app:cardBackgroundColor="@color/orange"
app:cardCornerRadius="20dp">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="30dp"
android:layout_marginTop="20dp"
android:layout_marginRight="30dp"
android:layout_marginBottom="40dp"
android:background="@drawable/options"
android:backgroundTint="#F44336"
android:padding="10dp"
android:src="@drawable/carrello"
android:tint="@color/background" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center"
android:layout_marginBottom="5dp"
android:fontFamily="@font/title"
android:text="ORDINA"
android:textColor="@color/background"
android:textSize="18sp" />
</androidx.cardview.widget.CardView>
您需要制作一个选择器并为您的 CardView 设置以下属性。
android:foreground="@drawable/card_foreground"
android:clickable="true"
android:focusable="true"
这是 card_foreground.xml 的代码,将其添加到项目的 drawable 文件夹中。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="#e0F5AD6E"/>
<corners android:radius="2dp" />
</shape>
</item>
<item android:state_focused="true" android:state_enabled="true">
<shape android:shape="rectangle">
<solid android:color="#0f000000"/>
<corners android:radius="2dp" />
</shape>
</item>
</selector>
您可以根据需要更改状态颜色和半径。现在,当您单击 CardView 时,颜色将会改变。
我想在 Android Studio 中为我的 CardView 更改背景颜色,我想使用选择器,但我不知道该怎么做
这在我的代码中:
<androidx.cardview.widget.CardView
android:id="@+id/card_ordina"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
app:cardBackgroundColor="@color/orange"
app:cardCornerRadius="20dp">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="30dp"
android:layout_marginTop="20dp"
android:layout_marginRight="30dp"
android:layout_marginBottom="40dp"
android:background="@drawable/options"
android:backgroundTint="#F44336"
android:padding="10dp"
android:src="@drawable/carrello"
android:tint="@color/background" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center"
android:layout_marginBottom="5dp"
android:fontFamily="@font/title"
android:text="ORDINA"
android:textColor="@color/background"
android:textSize="18sp" />
</androidx.cardview.widget.CardView>
您需要制作一个选择器并为您的 CardView 设置以下属性。
android:foreground="@drawable/card_foreground"
android:clickable="true"
android:focusable="true"
这是 card_foreground.xml 的代码,将其添加到项目的 drawable 文件夹中。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="#e0F5AD6E"/>
<corners android:radius="2dp" />
</shape>
</item>
<item android:state_focused="true" android:state_enabled="true">
<shape android:shape="rectangle">
<solid android:color="#0f000000"/>
<corners android:radius="2dp" />
</shape>
</item>
</selector>
您可以根据需要更改状态颜色和半径。现在,当您单击 CardView 时,颜色将会改变。