Android &引用;无法将?attr/colorPrimary转换为可绘制的";

Android &引用;无法将?attr/colorPrimary转换为可绘制的";,android,material-design,Android,Material Design,我正在启动一个新项目,因此该项目或多或少是“空的”。我刚刚添加了一个MainActivity和一个MainActivityFragment。我根本没有给它们添加任何代码 现在,我编辑styles.xml,使其如下所示: 真的 假的 #2196F3 #1976D2 #FF4081 @style/Widget.AppCompat.Toolbar android[pre lollipop]操作系统中存在一个漏洞,不允许您在drawable中使用attr。以下是bug的链接: Android开发团

我正在启动一个新项目,因此该项目或多或少是“空的”。我刚刚添加了一个MainActivity和一个MainActivityFragment。我根本没有给它们添加任何代码

现在,我编辑styles.xml,使其如下所示:


真的
假的
#2196F3
#1976D2
#FF4081
@style/Widget.AppCompat.Toolbar

android[pre lollipop]操作系统中存在一个漏洞,不允许您在drawable中使用attr。以下是bug的链接:

Android开发团队已经发布了一个修复程序,但它可以在Android L及以上版本上运行。 有关此问题的解决方法,请参阅以下解决方案:


以下Android操作系统版本-21出现问题。您可以使用

android:background=“?attr/colorPrimary”

而不是

app:background=“?attr/colorPrimary”


它可以正常工作。

在它前面加上android关键字

?attr/colorPrimary"
变成

?android:attr/colorPrimary

在android studio 3.0中运行良好。

Hmm,这是在PC上,当我开发时,它不在android操作系统中,所以我不完全确定你的意思=)操作系统版本在编码时不相关,我可以选择在manifest/gradle文件中针对不同的SDK版本,对吗?这就是你的意思,目标SDK版本是问题所在吗?如果我把它设为22,它会工作吗?因为它对我不起作用。你还将android操作系统更新为api 22。。仍然不起作用。当然,尝试更改设备的操作系统会有所不同。一台设备可能运行4.1、另一台5.1以及介于两者之间的所有设备。这应该不会影响Android Studio.well应用程序不会崩溃。这是安卓工作室的问题。在@Ted评论之后,我还在安卓工作室1.2.1.1中使用API 22,所以它还没有修复。