web-dev-qa-db-ja.com

指定された名前attr "colorPrimary"に一致するリソースが見つかりませんでした

Xamarin StudioでAndroidアプリをコンパイルするのに苦労しています。表示されるエラーは次のとおりです。

指定された名前attr "colorPrimary"に一致するリソースが見つかりませんでした

これは私のstyles.xmlを指します:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="@Android:style/Theme.Material.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <!--item name="colorPrimaryDark">@color/colorPrimaryDark</item-->
        <!--item name="colorAccent">@color/colorAccent</item-->
    </style>
</resources>

オンラインで見られる通常のアドバイスは、SDKバージョンを21以上に設定することです。しかし、私はすでにそれを試しました:

  • マニフェストでminSdkVersionを21に設定します
  • マニフェストでtargetSdkVersionを21に設定します
  • プロジェクト設定でタジェットフレームワークをAndroid 5.0に設定します
  • クリーン化および再構築されたプロジェクト

エラーはまだあります:-(この機能を動作させるために他の設定が必要ですか?

12
Boris

これが私のプロジェクトでうまくいったことです。

res/values-v21/styles.xml

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <style name="AppTheme" parent="@Android:style/Theme.Material.Light.DarkActionBar">
    <item name="Android:colorPrimary">@color/primaryColor</item>
    </style>
</resources>

res/values/styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/primaryColor</item>
    </style>
</resources>
12
K Neeraj Lal

マテリアルデザインのドキュメントから直接規約に従う必要があります( https://developer.Android.com/training/material/theme.html#ColorPalette ):

<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>

ここで不足しているのは、colorPrimaryアイテムのAndroid:名前空間プレフィックスです。このため、スコープで定義されていないため、それぞれの属性を見つけることができません。

それ以外の場合は、テーマからAndroid:プレフィックスを削除する必要があります

parent="@Android:style/Theme.Material.Light.DarkActionBar"
7
Jon Douglas

私の場合、styles.xmlで使用されている色は定義されていません。したがって、すべての色と名前が適切に定義されていることを確認してください。

1
Kaveri

私の場合、それは私が使用する外部パートナーからのSDKの間違ったエントリでした:

  • sDK value.xmlファイルにスタイル情報が含まれていた
  • また、AndroidManifest.xmlのAndroid:theme部分も嫌いです

sDKをビルドするときはどちらも明らかに必要ではありません(テーマや色に関する設定が必要なアプリではありません...)

0
Markus Rossler