如何解决Android 无法解析样式中的符号“primaryLightColor”属性
我想使用 Color Tool 来选择将在 App 中使用的颜色。选择Primary
和Secondary
颜色并导出为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>
解决方案
对于您的情况,我们可以在 colorPrimary
和 colorPrimaryVariant
之间调整,其中一个将用作轻量,另一个用作较暗的 阴影。 (使用 colorPrimaryLight
作为 colorPrimary
的变体)
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryVariant">@color/primaryLightColorBlue</item>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。