找不到与给定名称匹配的资源(位于“android:color Primary”处)。

5
<resources>
  <!-- inherit from the material theme -->
 <style name="AppTheme" parent="android:Theme.Material">
   <!-- Main theme colors -->
   <!--   your app branding color for the app bar -->
   <item name="android:colorPrimary">@color/primary</item>
   <!--   darker variant for the status bar and contextual app bars -->
   <item name="android:colorPrimaryDark">@color/primary_dark</item>
   <!--   theme UI controls like checkboxes and text fields -->
   <item name="android:colorAccent">@color/accent</item>
 </style>
</resources>

请尝试解决这个问题。


1
请发布完整的错误信息。 - Paresh Mayani
请注意:http://stackoverflow.com/questions/25257737/error-retrieving-parent-for-item-no-resource-found-that-matches-the-given-name - Gabriele Mariotti
3个回答

6

android:Theme.Material需要API级别为21,因此您的minSDKVersion低于21。

如果您真的想为API 21开发应用程序,则声明android:minSDKVersion=21

如果您想要向较低版本提供兼容性,则需要使用支持库,也称为AppCompat库。

您可以使用AppCompat访问上述属性:

 <item name=”colorPrimary”>@color/primary</item>
 <item name=”colorPrimaryDark”>@color/primary_dark</item>

1
重要的是使用API 21进行编译。 您还可以仅在values-v21文件夹中使用Material Theme,而无需使用minsdk = 21或appCompat。 - Gabriele Mariotti
@GabrieleMariotti 如果他想要针对API级别>=21进行目标定位,那么这可能是解决方案,考虑到这一点,我建议使用兼容性解决方案 :) - Paresh Mayani
1
@PareshMayani,你能具体说明在item标签中编写android:colorPrimary和仅编写colorPrimary之间的区别吗? - user2779311

3

实际上,您可以使用支持库来使用此属性:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light">

    <item name="colorPrimary">...</item>
</style>

您还可以使用其他选项:
    <item name="colorPrimaryDark">...</item>
    <item name="colorAccent">...</item>

0

android:colorPrimary 仅支持 API 级别 21 及以上。您可以在 Android Studio 和 Eclipse 下面看到错误消息:

android:colorPrimary 需要 API 级别 21(当前最小值为14) enter image description here


如果您真的认为这是复制的,请查看我的图片 - raj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接