gpt4 book ai didi

android - 使用 AppCompat 在 pre-lollipop 上的 drawable 中使用 colorPrimary

转载 作者:搜寻专家 更新时间:2023-11-01 07:54:35 25 4
gpt4 key购买 nike

我正在使用 AppCompat 22.1.1。

由于某些原因,我的应用程序可以在用户导航期间动态更改其主题。 (例如,当您从“我的应用程序”部分移动到“电影”部分时,移动到应用程序的另一部分,例如在 Google Play 商店应用程序中)

为了避免为每个主题创建一个可绘制背景,我尝试创建这样的背景:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="?attr/colorPrimary" /></shape>

当以编程方式更改主题时,我想 colorPrimary 也会更改,之后膨胀的按钮将被染上新主题的颜色。

但是我在 Lollipop 之前有一个膨胀异常(但在 Lollipop 上有效)。 drawable找不到属性attr/colorPrimary,为什么?

这是我正在使用的简单 theme.xml:

 <style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/my_blue</item>
<item name="colorPrimaryDark">@color/my_blue_dark</item>
<item name="colorAccent">@color/my_blue_light</item>
</style>

颜色在 values/colors.xml 中,只有六色。所有资源都在“values”目录中,而不是在 values-r21 目录中。

最佳答案

在res/color/中创建一个color_primary.xml颜色资源:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorPrimary"/>
</selector>

然后在您的可绘制对象中引用它:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/color_primary" />
</shape>

关于android - 使用 AppCompat 在 pre-lollipop 上的 drawable 中使用 colorPrimary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29918582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com