我处于一个相当严重的困境。我使用?attr / colorPrimary构建了我的整个应用程序来选择背景形状的颜色,因为我已经设计了一种动态更改主题和颜色的方法。这在5.0上完美运行,但在所有4.x设备上,?attr / colorPrimary使应用程序崩溃。为什么Android工作室不会提醒开发人员这种不兼容性?
是否有?attr / colorPrimary的支持版本?
答案 0 :(得分:1)
AppCompat已经成为version 21的一部分,并且可以回到API 7.您的问题与您的主题代码相关。
答案 1 :(得分:0)
我相信它是在Android Lollipop - API 21之后添加的。
至少此链接显示它是在API 20和21之间添加的:
https://developer.android.com/sdk/api_diff/21/changes/android.R.attr.html
attr / colorPrimary只是指向当前主题中定义的colorPrimary。
我不确定你是如何实现主题的..但是你可以创建自己的attr ......只有当你支持多个主题时,这个选项才有用。
如果你有一个主题,我相信你可以用一种颜色替换它。
答案 2 :(得分:0)
API 21:
材料设计风格
通知以白色(或非常轻)顶部的深色文字绘制 背景匹配新的材料设计小部件。确保这一点 使用新的配色方案,您的所有通知都是正确的。如果你的 通知看起来不对,修复它们:
使用setColor()在图标后面的圆圈中设置强调色 图片。更新或删除涉及颜色的资产。系统忽略了 动作图标和主通知中的所有非alpha通道 图标。您应该假设这些图标仅为alpha。该 系统在黑暗中绘制白色和行动图标的通知图标 灰色。
答案 3 :(得分:0)
问题是Android代码中的一个小问题。 See this,它不是完全相同,但原因是。
如果有人出现此问题,我想解释一下我的解决方法。
删除所有“?attr / color(Primary,Dark或Accent)”和尝试以模仿每个单独活动中每个元素的效果。这不是一个完整的工作,但对我来说它是有效的。谷歌真的需要解决这个问题。如果你知道更好的解决方法,请告诉我,只要它有效,我会接受它作为更好的答案。