Material Design, AppCompat und Rückwärtskompatibilität

Ich versuche, die Prinzipien der Verwendung von Material Design ein bisschen besser zu verstehen (ich bin neu in diesem Bereich und habe Dokumentationen und Tutorials gelesen, aber das Thema ist für mich immer noch etwas vage), und ich bin froh darüber für etwas Hilfe. Was ich bisher ausprobiert habe, sind 2 Ordner (Werte und Werte-21) mit einer styles.xml-Datei für jeden von ihnen -

values / styles.xml:

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

values-v21 / styles.xml:

<style name="AppTheme" parent="android:Theme.Material.NoActionBar"></style>

Das Problem beginnt dort, wo ich versuche, Aktivitäten zu verwenden, die von AppCompatActivity erben. (Nach meinem Verständnis muss ich dies tun, um die Abwärtskompatibilität von Geräten vor Lollipop für Dinge wie Materialdesign zu unterstützen. Bin ich korrekt? Weitere Informationen hier sei großartig). Wenn ich das tue, läuft die App nicht auf Geräten mit API 21 oder höher, da "AppTheme" von AppCompat erben muss.

Was ich tun kann, um das zu lösen, ist, ein Basisthema zu erstellen, das von AppCompat erbt, und dann den Stil in beiden Dateien so zu gestalten, dass er von diesem Basisthema erbt ... Aber dann erbe ich nicht mehr von Material ... was mich zu der / den Frage (n) bringt -

Ist Material Design nur ein bestimmtes Thema? Und wenn ja, wie löse ich mein Problem? Und was leistet AppCompatActivity hier genau? Oder ist Material Design im Wesentlichen nur ein Satz von Regeln und Prinzipien, denen ich folgen soll? Und wenn ja, warum brauchen wir überhaupt Theme.Material. *? Ich freue mich über jede zusätzliche Information, die mir jemand zu diesem Thema geben kann.

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage