?attr / colorPrimary支持版本?

时间:2016-02-06 01:12:37

标签: android colors themes android-support-library

我处于一个相当严重的困境。我使用?attr / colorPrimary构建了我的整个应用程序来选择背景形状的颜色,因为我已经设计了一种动态更改主题和颜色的方法。这在5.0上完美运行,但在所有4.x设备上,?attr / colorPrimary使应用程序崩溃。为什么Android工作室不会提醒开发人员这种不兼容性?

是否有?attr / colorPrimary的支持版本?

4 个答案:

答案 0 :(得分:1)

截至colorPrimary

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)”和尝试以模仿每个单独活动中每个元素的效果。这不是一个完整的工作,但对我来说它是有效的。谷歌真的需要解决这个问题。如果你知道更好的解决方法,请告诉我,只要它有效,我会接受它作为更好的答案。