如何为应用程序中的每个 CardView 覆盖 material 设计中的样式?
How to override style from material design for every CardView in application?
我在我的项目中使用“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
我在我的项目中使用“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