2014-07-08 7 views
18

Lesen der Kompatibilität Abschnitt von Android L Developer Preview() Ich habe gesehen, dass ich eine APP mit L-SDK erstellen und auch auf älteren SDK (wie KitKat) ausführen können .Verwendung von Android L Material Design auf KitKat

Ich habe ein neues Projekt mit Android L sdk erstellt und konfiguriert "build.gradle" wie in diesem Post gesagt: Android Studio : Failure [INSTALL_FAILED_OLDER_SDK].

Ich habe versucht, beide Konfigurationen:

  • der in Frage vorgeschlagen, die mir diesen Fehler gibt:

    pkg: /data/local/tmp/com.example.{my user name}.materialapp Failure [INSTALL_FAILED_OLDER_SDK]

  • und die eine in Antwort vorgeschlagen, die mir Fehler gibt auf

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

Ich habe über andere Fragen zu StackOverflow gesucht, aber ich kann keine Lösungen finden.

LÖSUNG: Android L Vorschau Material Stil kann nur auf Geräten verwendet werden, die Android L. laufen Die „Kompatibilität“ ist nur eine Vorschau, und es ist nicht aktiviert.

Antwort

11

Sie müssen 2 verschiedene styles.xml Dateien mit dem gleichen Namen erstellen, die Sie in verschiedenen Ordnern ablegen.

Die erste wird hier gehen:

res/styles.xml 

und einen Verweis auf das Material-Thema sehen nicht haben (die Holo Thema verwenden):

hätte so etwas wie folgt aus:

<style name="AppTheme" parent="android:Theme.Holo.Light"></style> 

Die zweite wird hier gehen:

res/values-v21/styles.xml 

und den Verweis auf das neue Material Thema enthält, und haben würde:

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

Der Android-Framework wird die richtigen automatisch verwendet je nachdem, welche das Gerät unterstützt API (so auf 21 API-Geräten wird es Werkstoff verwenden , und auf allen anderen Geräten, wird es verwenden, was auch immer Sie definieren).

+1

Ich habe bereits 2 verschiedene styles.xml: ein in Wert und eine in Werte-v21. Aber wenn ich versuche, die App auf meinem Nexus 5 (mit 4.4.4) zu implementieren, stürzt es auf Android: Theme.Material ab.Licht – Luca

+0

Sind beide beide "AppTheme" keine Tippfehler oder andere Eltern? – Booger

+1

Keine Tippfehler. Gleiche Eltern. – Luca

1

Dies hat sich seit der ursprünglichen Antwort geändert, da Google eine bessere Unterstützung für Material Design in den AppCompat-Bibliotheken (die hauptsächlich alle Versionen von Android unterstützen) veröffentlicht hat.

An dieser Stelle sollten Sie diese Bibliotheken für die gesamte Entwicklung verwenden, dann können Sie die Materialdesign-Funktionen in all Ihren Apps unterstützen.

Hier ist, wie es einzurichten: https://developer.android.com/topic/libraries/support-library/setup.html

Verwandte Themen