2014-07-08 15 views
18

Czytanie sekcji zgodności w Androidzie L Preview Preview (http://developer.android.com/preview/material/compatibility.html) Widziałem, że mogę stworzyć aplikację, używając L-SDK, a także być w stanie uruchomić ją na starszym sdk (jak KitKat) .Używanie materiału Android L Material Design na KitKat

Utworzyłem nowy projekt przy użyciu sdk Androida L i skonfigurowałem "build.gradle" zgodnie z tym wpisem: Android Studio : Failure [INSTALL_FAILED_OLDER_SDK].

próbowałem obie konfiguracje:

  • zaproponowana w pytaniu, że daje mi ten błąd:

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

  • i jeden zaproponowany w odpowiedzi, które daje mi błąd na

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

Wyszukiwanie na inne pytanie dotyczące StackOverflow, ale nie mogę znaleźć rozwiązania.

ROZWIĄZANIE: Android L podgląd styl materiał może być używany tylko na urządzeniach z systemem Android L. „zgodność” jest tylko podgląd i nie jest włączona.

Odpowiedz

11

Musisz utworzyć 2 różne pliki styles.xml o tej samej nazwie, które umieścisz w różnych folderach.

Pierwszy trafi tutaj:

res/styles.xml 

i NIE wyglądać mają odniesienie do materiału tematycznego (użyć motywu Holo):

więc miałby coś takiego:

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

drugi pójdzie tutaj:

res/values-v21/styles.xml 

i będzie zawierać odniesienie do nowego materiału tematu, i musiałby:

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

Ramy Android będzie automatycznie używać odpowiedniego jeden w zależności od których API obsługuje urządzeń (tak na API 21 urządzeń będzie Wykorzystanie materiału , a na wszystkich innych urządzeniach użyje tego, co zdefiniujesz).

+1

Mam już 2 różne styles.xml: jeden w wartościach i jeden w wartościach-V21. Ale jeśli spróbuję wdrożyć aplikację na moim Nexusie 5 (z 4.4.4), to zawiesza się na Androidzie: Theme.Material.Światło – Luca

+0

Czy oba są nazywane "AppTheme" bez literówek lub różnych rodziców? – Booger

+1

Brak literówek. Tych samych rodziców. – Luca

1

To się zmieniło od czasu oryginalnej odpowiedzi, ponieważ Google wydało lepszą obsługę projektowania materiałów w bibliotekach AppCompat (które obsługują głównie wszystkie wersje Androida).

W tym momencie powinieneś używać tych bibliotek do wszystkich prac rozwojowych, wtedy będziesz w stanie obsługiwać funkcje związane z projektowaniem materiałów we wszystkich twoich aplikacjach.

Oto jak go skonfigurować: https://developer.android.com/topic/libraries/support-library/setup.html

Powiązane problemy