2016-09-19 3 views
0

Ich bin ein wenig verwirrt, da ich verschiedene Werte Ordner haben:Wie rendern Android-Geräte Designs?

styles.xml in values 
styles.xml in values-v21 

Ich verstehe, dass viele AppCompat Themen in API 21. Ich bin der Umsetzung der folgenden Thema in meinem styles.xml Ordner zur Verfügung gestellt wurden:

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

    <!-- Customize your theme here. --> 
</style> 

Ist dieses Thema nicht ein AppCompat-Thema? Wie rendern Android-Geräte, auf denen die API ausgeführt wird, dieses Theme tatsächlich, wenn es nur für Geräte> API 21 veröffentlicht wurde?

+0

Die ganze Idee dieser AppCompat Sache ist, dass es nicht Teil eines bestimmten Android-Release ist, aber eine separate Bibliothek, so dass Sie es auch auf älteren Systemen verwenden können. – Zielony

+0

Danke, macht Sinn, möchten Sie als Antwort markieren? – tccpg288

Antwort

1

Wenn Sie meine Antwort mögen, hier ist die aufwendigere Version:

Die ganze Idee dieser AppCompat Sache ist, dass es nicht Teil einer bestimmten Android-Release ist, sondern eine separate Bibliothek, so dass Sie es auf verwenden können ältere Systeme auch.

API 21 eingeführtes Material Thema. Auf APIs, auf denen das Thema Material verfügbar ist, verwendet AppCompat Material. Bei älteren APIs imitiert AppCompat bestimmte Dinge, damit es funktioniert und mehr oder weniger wie Material aussieht.

AppCompat Themes waren lange vor API 21. Als die APIs 11 - 20 "die neuesten" waren, gab es ein AppCompat Design mit Holo Look, das mit der 2.x Zeile kompatibel war.

In x-v21 Ordnern sollten Sie Dinge haben, die nicht mit AppCompat Thema kompatibel sind. Zum Beispiel Zeichen mit <ripple> Tags, da Ripples auf Pre-21 nicht unterstützt werden. AppCompat intern hat Wellen in drawable-v21 Ordner und entsprechende statische Farben in Plain drawable Ordner.