【问题标题】:How to Change CardView background color from a theme如何从主题更改 CardView 背景颜色
【发布时间】:2019-10-06 18:21:24
【问题描述】:

在具有多个主题的应用中,您将如何从样式文件中更改 CardView 的背景颜色?

styles.xml

<style name="AppTheme1" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimaryTheme1</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDarkTheme1</item>
        <item name="colorAccent">@color/colorAccentTheme1</item>
</style>

<style name="AppTheme2" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimaryTheme2</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDarkTheme2</item>
        <item name="colorAccent">@color/colorAccentTheme2</item>
</style>

<style name="AppTheme3" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimaryTheme3</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDarkTheme3</item>
        <item name="colorAccent">@color/colorAccentTheme3</item>
</style>

卡片视图

<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/cardView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginStart="16dp"
    android:layout_marginTop="16dp"
    android:layout_marginEnd="16dp"
    android:elevation="4dp"
    app:cardCornerRadius="15dp">

我想更改每个主题的背景颜色,并希望在 styles.xml 文件中完成此操作。

【问题讨论】:

    标签: android android-xml android-cardview android-styles


    【解决方案1】:

    试试下面这行代码

    在 style.xml 中编写以下代码行

        <style name="CustomCardview1" parent="CardView">
              <item name="cardBackgroundColor">#F3921F</item>
              <item name="android:layout_width">match_parent</item>
              <item name="android:layout_height">wrap_content</item>
             <item name="android:layout_margin">10dp</item>
         </style>
    
        <style name="CustomCardview2" parent="CardView">
              <item name="cardBackgroundColor">#F3931F</item>
              <item name="android:layout_width">match_parent</item>
              <item name="android:layout_height">wrap_content</item>
             <item name="android:layout_margin">10dp</item>
         </style>
    

    在需要卡片视图的布局中编写以下代码行

     <android.support.v7.widget.CardView
          style="@style/CustomCardview">      
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      • 2018-08-19
      • 2019-02-08
      • 1970-01-01
      • 2015-06-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多