Dla aplikacji, którą obecnie rozwijam, muszę dostosować układ różnych działań do poziomu interfejsu API Androida użytkownika.Dostosuj układ do platformy Android lub poziomu interfejsu API
Czy istnieje sposób, aby to zrobić?
Dla aplikacji, którą obecnie rozwijam, muszę dostosować układ różnych działań do poziomu interfejsu API Androida użytkownika.Dostosuj układ do platformy Android lub poziomu interfejsu API
Czy istnieje sposób, aby to zrobić?
Jeśli to, co próbujesz zrobić, to pokazać inny układ, w zależności od wersji interfejsu API na urządzeniu, chcesz użyć configuration qualifiers. Specyfikacje dla alternative resources są również udokumentowane.
Najprostszym sposobem na to jest, aby utworzyć folder dla każdego układu poziomie API, którego chcesz użyć, sformatowany w następujący sposób:
res/layout/mylayout.xml (Default)
res/layout-v4/mylayout.xml (Android 1.6)
res/layout-v11/mylayout.xml (Android 3.0)
i tak dalej, gdzie vN
jest poziom API. Określone poziomy API można znaleźć on this page.
Jeśli masz już rozciągliwej zasoby dla każdego z poziomu peronu, można skorzystać z informacji zawartych w http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources
Dokładniej, spojrzeć na „Platforma Wersja (poziom API)” wiersza w tabeli 2.
Jako Andrew Koester powiedział, że można użyć różnych folderów wersji, ale okazało się, że to dużo pracy, ponieważ nie będzie wrócić do domyślnego układu. Jeśli używałeś layout-v14, to zadziała, ale każde api po 14 również będzie miało ten układ i będziesz musiał użyć innego layoutu-v? znowu to zmienić. Wszystko zależy od tego, co robisz, ale znalazłem, jeśli robisz wiele rzeczy programowo to działa cuda:
if(Build.VERSION.SDK_INT == Build.VERSION_CODES.ICE_CREAM_SANDWICH || Build.VERSION.SDK_INT == Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1){
//ex. if ics is met then do this
}else{
//if api is not ics then do this
}
dzięki za odpowiedź na tę pracę całkiem dobrze! – Atheh
Gdybym miał tylko trzy pliki opisane powyżej, ale używam urządzenia GB, którego pliku będzie używał? (layout-v4 lub layout)? Czy muszę utworzyć inny folder dla każdej platformy? Planuję wspierać od GB –
@ FredericYesidPeñaSánchez Spowoduje to powrót do następnego najbardziej pasującego układu. Dlatego res/layout zawsze będzie dopasowywany ostatni, co będzie konieczne, ale każdy inny jest opcjonalny. Nie potrzebujesz folderu na każdą platformę, chyba że potrzebujesz czegoś innego. – Jess