首页 > 解决方案 > ?attr/colorPrimary 在可绘制结果中没有颜色棒棒糖

问题描述

我有一个像这样的drawable

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="?attr/colorPrimary" />
            <corners android:radius="5dp" />
        </shape>
    </item>
</selector>

我有两个不同的主题,它们为 colorPrimary 使用不同的颜色。

当我使用这个drawable时,它没有颜色

两个主题的颜色代码如下

darkTheme: #50c5ff
lightTheme: #90a1fc

我该如何解决这个问题?

更新:

当我使用

<solid android:color="?android:colorPrimary" />

它导致黑色背景颜色

我在 android 7.1.1 上运行我的代码

标签: androidandroid-drawableandroid-themeandroid-attributes

解决方案


<solid android:color="@color/colorPrimary" />

代替

<solid android:color="?attr/colorPrimary" />

推荐阅读