微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android 无法解析样式中的符号“primaryLightColor”属性

如何解决Android 无法解析样式中的符号“primaryLightColor”属性

我想使用 Color Tool 来选择将在 App 中使用的颜色。选择PrimarySecondary颜色并导出为Android后,输出包括

<resources>
  ...
  <color name="primaryLightColorBlue">#534bae</color>
</resources>

但是当我尝试在这样的样式中使用它时:

<style name="Blue" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
...
<item name="primaryLightColor">@color/primaryLightColorBlue</item>
</style>

我遇到了这个错误

cannot resolve symbol  "primaryLightColor"

我也尝试了 colorPrimaryLight 属性,因为它被描述为 here

<item name="colorPrimaryLight">@color/primaryLightColorBlue</item>

但是我又遇到了一个错误

Cannot resolve symbol 'colorPrimaryLight'

primaryLightColor 对应的正确属性是什么?

解决方法

您正在尝试设置/覆盖 primaryLightColor 的值 Theme.MaterialComponents.DayNight.DarkActionBar

那个主题没有那个属性,看看这个答案https://stackoverflow.com/a/47506269/7968986

所以要回答您还应该使用什么:colorPrimary 表示浅色,colorPrimaryDark 表示任何“非浅色”

,

有一个特定的风格主题颜色列表。他们是:-

<item name="colorPrimary">@color/yourColor</item>
<item name="colorPrimaryVariant">@color/yourColor</item>
<item name="colorOnPrimary">@color/yourColor</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/yourColor</item>
<item name="colorSecondaryVariant">@color/yourColor</item>
<item name="colorOnSecondary">@color/yourColor</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/yourColor</item>
<item name="colorSurface">@color/yourColor</item>
<item name="colorOnSurface">@color/yourColor</item>
<item name="colorPrimarySurface">@color/yourColor</item>
<item name="colorError">@color/yourColor</item>
<item name="colorOnError">@color/yourColor</item>

解决方案

对于您的情况,我们可以在 colorPrimarycolorPrimaryVariant 之间调整,其中一个将用作轻量,另一个用作较暗的 阴影。 (使用 colorPrimaryLight 作为 colorPrimary 的变体)

<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryVariant">@color/primaryLightColorBlue</item>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。