2015-02-11 18 views
25

In Android Studio habe ich ein Projekt importiert, das styles.xml (v21) nicht enthält. Also habe ich eine styles-v21.xml Datei im Verzeichnis values erstellt. Sowohl styles.xml als auch styles-v21.xml befinden sich jetzt im Verzeichnis values.Erstellen von Stilen-v21.xml

styles.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <style name="AppTheme" parent="AppTheme.Base"> 
     <!-- Customize your theme here. --> 
    </style> 

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

    </style> 

</resources> 

Arten-v21.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar"> 

    </style> 

</resources> 

Als ich das Projekt erstellen erhalte ich einen Fehler zu bauen:

Error:Error: Duplicate resources: C:\xxx\main\res\values\styles-v21.xml:style/AppTheme, C:\xxx\main\res\values\styles.xml:style/AppTheme

Der Fehler ist, dass beide Ressource Dateien haben die gleiche style Name: AppTheme. Aber in anderen Projekten und Tutorials, die ich gesehen habe, haben diese styles den gleichen Namen. Eines ist für Android mit Version 21 Kompatibilität und das andere ist für Android ohne die Kompatibilität.

Ich möchte wissen, ob ich einfach den Namen ändern sollte oder ob diese Dateien den gleichen Namen haben sollen - was bedeutet, dass es ein größeres Problem gibt. Wie soll ich vorgehen?

+8

An einigen Stellen in Ihrer Frage beziehen Sie sich auf einen Ordner "styles-v21". An einigen Stellen in Ihrer Frage verweisen Sie auf eine Datei "styles-v21" oder "styles-v21.xml". Hast du all diese erstellt? Wenn nicht, bitte bearbeiten Sie Ihre Frage, um ** genau ** zu erklären, welche Dateien Sie wo erstellt haben. Die richtige Antwort, BTW, ist eine 'Res/Values-v21/styles.xml' Datei. – CommonsWare

+0

* Fixed * - Ah ich werde das tun und sehen, ob es funktioniert. – user2456977

+0

Danke! Dies funktioniert perfekt – user2456977

Antwort

84

Rechtsklick auf res Ordner erstellen wählen New - >Android Ressourcendatei, stellen Sie den gleichen Namen für die neue Datei „Stile“, in Verfügbare Qualifier: das letzte Element wählen „Version“ und schließlich auf „Platform API-Ebene“ 21.

+0

wusste nicht, dass dies getan werden konnte Tx sehr viel –

+0

Danke, es hat perfekt funktioniert – Shudy

-1

Korrektur zu styles-v21.xml.

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="AppTheme" parent=""AppTheme.Base""> 

    </style> 

</resources> 
2

Sie sollten styles.xml für Version 21 in Werte-v21-Ordner und Android Studio automatisch fügen Sie es als styles.xml (v21)

5

Standardmäßig erstellt Android Studio styles.xml (v21) nicht. Was Sie tun müssen, ist eine Ordnerstruktur erstellen wie folgt aus:

  • res/Werte/styles.xml
  • res/Werte-v21/styles.xml

Und das ist, was Sie in Android Studio erhalten:

enter image description here

Dann können Sie verschiedene definieren AppTheme für verschiedene API-Ebene.

0

Sie müssen einen Wert Ordner mit values-v21 Beschriftung erstellen. und erstellen Sie die Datei style.xml mit dem gleichen Namen wie der Werteordner wie styles.xml. Jetzt erstellen Sie Ihr Projekt neu.