如何为应用程序中的每个 CardView 覆盖材料设计中的样式?

问题描述

我在我的项目中使用“com.google.android.material:material:1.3.0”。根据 Big Nerd Ranch 的书,我尝试覆盖整个项目的 CardView 样式,以避免为每个 CardView 设置 Style 属性。 我的清单:

android:theme="@style/Theme.MyProject"

我的 themes.xml:

<style name="Theme.MyProject" parent="Theme.MaterialComponents.DayNight.NoActionBar">
    ...
    <item name="materialCardViewStyle">@style/MyDesignCardView</item>
</style>

<style name="MyDesignCardView" parent="Widget.MaterialComponents.CardView">
    <item name="cardBackgroundColor">@color/cardViewBackground</item>
    <item name="cardCornerRadius">5dp</item>
    <item name="cardElevation">8dp</item>
</style>

我的卡片视图:

<androidx.cardview.widget.CardView
    android:id="@+id/card_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

解决方法

您应该使用 com.google.android.material.card.MaterialCardView 而不是 androidx.cardview.widget.CardView

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...