错误: 期望颜色但得到了(原始字符串)颜色/灰色

9
我已经切换到Android Studio 3。在解决了许多问题后,我遇到了这个错误:
color/colorPrimary,但是我得到了这个错误:Error:(87, 5) error: expected color but got (raw string) color/gray。
enter image description here

即使问题不在颜色上,我仍然遇到了这个错误。我在<item name="android:background">null</item>中没有使用@符号。 - soshial
2个回答

21

你忘记在 color/colorPrimary 前面添加 @ 了。

请将它更改为像这样的形式:@color/colorPrimary

示例代码

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>

    </style>

1
看起来是完美的答案。 - IntelliJ Amiya
根据此页面https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#at_symbol,迁移到Android Studio 3需要将它们删除。我猜这就是OP所指的地方。 - dhesse
@dhesse,你是指删除什么?能否解释一下?我也遇到了同样的问题。 - Libin Thomas

0

颜色值应该是一个 hex 颜色代码,例如 #A5D3F4 或者带有 @ 符号的颜色引用,例如 @color/colorPrimary。在使用这些引用之前,您必须创建类似于 res/values/color.xml 的资源。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#6200EE</color>
    <color name="colorPrimaryDark">#3700B3</color>
    <color name="colorAccent">#03DAC5</color>
    <color name="LabelColor_text_50">#FFFFFF</color>
    <color name="ValueColor_text_50">#333322</color>
    <color name="LabelColor_bg_50">#A5D3F4</color>
    <color name="ValueColor_bg_50">#E6EEF4</color>
</resources>

使用这些名称作为<item name="someName">@color/LabelColor_text_50</item>


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