it-swarm.com.de

Es wurde keine Ressource gefunden, die dem angegebenen Namen entspricht: attr "colorPrimary"

Ich habe Schwierigkeiten, meine Android-App in Xamarin Studio zu kompilieren. Der Fehler, der auftaucht, lautet wie folgt:

Es wurde keine Ressource gefunden, die dem angegebenen Namen entspricht: attr "colorPrimary"

Was sich auf meine styles.xml bezieht:

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

Der übliche Rat, der online gefunden wird, ist, die SDK-Version auf 21 oder höher einzustellen. Aber das habe ich schon probiert:

  • Setzen Sie die minSdkVersion im Manifest auf 21
  • Setzen Sie targetSdkVersion im Manifest auf 21
  • Setzen Sie das Taget-Framework in den Projekteinstellungen auf Android 5.0
  • Projekt gereinigt und neu aufgebaut

Der Fehler ist immer noch da: - ( Sind andere Einstellungen erforderlich, damit dies funktioniert?

10
Boris

Das hat bei meinem Projekt funktioniert.

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

Im 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

Sie sollten der Konvention direkt aus der Material Design-Dokumentation folgen ( 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>

Was Sie hier vermissen, ist das Android:-Namespace-Präfix für das colorPrimary-Element. Aus diesem Grund kann das entsprechende Attribut nicht gefunden werden, da es nicht im Gültigkeitsbereich definiert ist.

Andernfalls müssen Sie das Android:-Präfix aus dem Design entfernen

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

In meinem Fall wurden die in styles.xml verwendeten Farben nicht definiert. Stellen Sie also sicher, dass Sie alle Farben sowie Namen richtig definiert haben.

0
Kaveri

In meinem Fall waren es falsche Einträge im SDK von einem externen Partner, den ich verwende:

  • sie hatten Stilinformationen in der SDK-Datei value.xml
  • sie haben auch einen Android: Theme-Teil in ihrer AndroidManifest.xml

beide sind offensichtlich nicht notwendig, wenn Sie ein SDK erstellen (und keine App, in der Sie die Themen und Farben konfigurieren müssen ...).

0
Markus Rossler