Android Studio找不到颜色样式资源。

7

我试图使用自定义主题 Theme.AppCompat.NoActionBar,但是 IDE 报错 找不到命名资源。请求协助。非常感谢您的帮助。

styles.xml 如下:

<?xml version="1.0" encoding="utf-8"?>

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="android:windowActionBar">false</item>
        <item name="android:windowActionBarOverlay">true</item>
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorPrimaryLight">@color/primary_light</item>
        <item name="colorAccent">@color/accent</item>
        <item name="textColorPrimary">@color/primary_text</item>
        <item name="textColorSecondary">@color/secondary_text</item>
        <item name="iconColor">@color/icons</item>
        <item name="dividerColor">@color/divider</item>
    </style>    
</resources>

颜色.xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="primary">#FF9800</color>
    <color name="primary_dark">#F57C00</color>
    <color name="primary_light">#FFE0B2</color>
    <color name="accent">#03A9F4</color>
    <color name="primary_text">#212121</color>
    <color name="secondary_text">#727272</color>
    <color name="icons">#212121</color>
    <color name="divider">#B6B6B6</color>
</resources>

1
我认为你的颜色XML名称是colors,但你调用时写成了color,因此找不到。 - Abhinav singh
你只能将颜色引用为'@color/colorname',不能使用'@colors/colorname'。 - Kabs
@Destro 那不是问题。 - Kaushik
是的,我正在使用“compile 'com.android.support:appcompat-v7:21.0.3'”。 - Kabs
文件是否在 /res/values 文件夹下? - Ramandeep Nanda
显示剩余2条评论
7个回答

13

只需构建 > 清理项目然后文件 > 无效化缓存 / 重启项目


2
确保您没有像下面这样的导入:
import android.R
这会导入错误的资源。 最初的回答。

2
将xml文件名改为color.xml,并放置在values文件夹下代替colors.xml。然后进行Build > Clean Project操作,最后重启项目。
或者可以尝试以下方法。
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
<color name="green">#00ff00</color>

This translates to: "

参考资料

"

1
即使将XML文件重命名后,仍然会抛出相同的错误。 - Kabs
@Kabs,你的颜色XML文件在values文件夹里吗? - IntelliJ Amiya
1
是的,它是@IntelliJ Amiya。 - Kabs
https://developer.android.com/intl/zh-CN/samples/BasicMediaRouter/res/values/colors.html - IntelliJ Amiya
1
谢谢,那个可行,但我不明白为什么要使用整数数组引用定义的颜色。 - Kabs

1

我遇到了类似于你的以下错误:

error: resource color/color_primary (aka com.example.android.test31july:color/color_primary) not found.

我进入了colors.xml并创建了名为“color_primary”的颜色资源,问题消失了。


对我来说,colors.xml 中有一个不存在的引用。我修复了引用,并清理了项目以消除错误。Kumar 写的应该是正确的答案。 - Rickard Elimää

0

试一下这个

ContextCompat.getColor(getContext(), R.color.red800)

0

请确保使用颜色标签而不是其他标签。

<color name="name">#123</color>

0
重建可能需要很长时间。
只需移除有问题的行并重新添加即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接