【问题标题】:Error after trying to change color in color.xml尝试更改 color.xml 中的颜色后出错
【发布时间】:2018-05-10 09:56:46
【问题描述】:

我正在尝试学习 Android,现在我正在尝试更改我的 android 项目中的颜色。这就是我的工作,

我将 color.xml 更改为:

<resources>
    <color name="primaryColor">#d81b60</color>
    <color name="primaryLightColor">#ff5c8d</color>
    <color name="primaryDarkColor">#a00037</color>
    <color name="primaryTextColor">#ffffff</color>
</resources>

还有我的 style.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="primaryColor">@color/primaryColor</item>
    <item name="primaryLightColor">@color/primaryLightColor</item>
    <item name="primaryDarkColor">@color/primaryDarkColor</item>
    <item name="primaryTextColor">@color/primaryTextColor</item>
</style>

但是当我尝试运行时,我得到了这个错误:

那么,我该如何解决呢?

我已经尝试过了:

  1. Android Studio does not find color style resource

  2. Android Studio can't find color reference within the same resource file

【问题讨论】:

  • 尝试使用android:color/primaryColor
  • 您是否在 gradle 文件的依赖项中添加了 appcompat 库?

标签: android android-styles


【解决方案1】:
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>

在样式中,这些标签用于指定 colorPrimary 重音和 primaryDark

更具体地说,将样式 xml 更改为

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

【讨论】:

    【解决方案2】:

    给你..

    您需要在values文件夹下创建attrs.xml

    在此文件中提及所有参考颜色。

    例如

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <attr name="primaryColor"></attr>
        <attr name="primaryLightColor"></attr>
        <attr name="primaryDarkColor"></attr>
        <attr name="primaryTextColor"></attr>
    </resources>
    

    现在您可以直接在 style.xml 中使用您的颜色

    例如

    <resources xmlns:android="http://schemas.android.com/tools">
    
        <!-- Base application theme. -->
        <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>
            <item name="primaryColor">@color/primaryColor</item>
            <item name="primaryLightColor">@color/primaryLightColor</item>
            <item name="primaryDarkColor">@color/primaryDarkColor</item>
            <item name="primaryTextColor">@color/primaryTextColor</item>
        </style>
    
    </resources>
    

    【讨论】:

      【解决方案3】:

      您正在尝试在您的样式中定义不存在的属性:

      <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
          <!-- Customize your theme here. -->
          <item name="primaryColor">@color/primaryColor</item>
          <item name="primaryLightColor">@color/primaryLightColor</item>
          <item name="primaryDarkColor">@color/primaryDarkColor</item>
          <item name="primaryTextColor">@color/primaryTextColor</item>
      </style>
      

      没有primaryColorprimaryLightColorprimaryDarkColorprimaryTextColor。正确的属性是colorPrimarycolorPrimaryDarkcolorPrimaryLighttextColorPrimary。此图片将向您显示属性(来自Using the material theme):

      所以,您需要将其更改为以下内容:

      <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
          <!-- Customize your theme here. -->
          <item name="colorPrimary">@color/primaryColor</item>
          <item name="colorPrimaryLight">@color/primaryLightColor</item>
          <item name="colorPrimaryDark">@color/primaryDarkColor</item>
          <item name="textColorPrimary">@color/primaryTextColor</item>
      </style>
      

      【讨论】:

      • 无法解析符号“colorPrimaryLight”
      猜你喜欢
      • 2020-02-22
      • 1970-01-01
      • 2016-04-24
      • 2017-09-01
      • 1970-01-01
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 2013-04-25
      相关资源
      最近更新 更多