Android CardView 应用主题

标签 android android-layout android-support-library android-theme android-cardview

有没有办法将主题应用于 Cardview?我不想将样式应用于我正在创建的每个 View 。

这是我的卡片查看 马上:

<android.support.v7.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/view_card"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    style="@style/Custom.Widget.CardView">
    <-- I don't want to define the style every time -->
</android.support.v7.widget.CardView>

还有我的样式.xml
<style name="Custom.Widget.CardView" parent="CardView">
    <item name="cardBackgroundColor">@color/card_backgroundColor</item>
    <item name="cardCornerRadius">12dp</item>
    <item name="cardUseCompatPadding">true</item>
    <item name="contentPadding">4dp</item>
</style>

我想将样式添加到 主题.xml 这样它将应用于每个 Cardview,但我不知道如何。甚至可以从支持库中获取 View 吗?

当我将以下内容添加到 主题.xml 我收到警告:no resource found that matches the given name: attr 'Cardview'
<item name="Cardview">@style/Custom.Widget.CardView</item>

最佳答案

有可能,我也花了很长时间才找到。这是一个示例,如果 将橙色背景应用于所有卡片 View 我的风格 整个应用程序都使用样式。
主题.xml :

<style name="MyStyle" parent="Theme.AppCompat">
    ...

    <item name="cardViewStyle">@style/MyStyle.Cardview.Orange</item>
</style>

<!-- CardView -->
<style name="MyStyle.Cardview.Orange" parent="CardView">
    <item name="cardBackgroundColor">#F3921F</item>
</style>

关于Android CardView 应用主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38737423/

相关文章:

android - 如何在 Ubuntu 上使用 openjdk 构建 android 项目?

android - ScrollView 中的 ViewPager

android - 如何在同一列表项中同时显示字符串和编辑文本字段?

安卓 fragment 。在屏幕旋转或配置更改期间保留 AsyncTask

java - 抽屉布局在按下后不关闭(取决于 support-v4 lib)

android - 属性 insetForeground 已被定义

java - 如何在 Android 上使用 cookie 发出 http 请求?

android - 如何在不重做所有相对关系的情况下以简单的方式重做 Android XML 布局(尤其是 RelativeLayouts)?

Android xml 布局和添加用 xml 编写的自定义 View

java - Activity com.example.mediastore.LoginActivity 已泄漏窗口 com.android.internal.policy.impl.PhoneWindow$DecorView