Вопрос по android – Как сохранить обратную совместимость при использовании Android API Level 15?

10

Сэндвич с мороженым представил множество новых элементов дизайна пользовательского интерфейса, но проникновение на рынок все еще составляет всего 4% или около того. Если кто-то хотел бы проверить их применение в будущем и использовать некоторые элементы дизайна, представленные в Honeycomb / Ice Cream Sandwich, такие как панель действий, цветовая схема и т. Д., Что было бы наилучшим способом обеспечения того, чтобы вы сохранили хоть немного назад. совместимость

Ваш Ответ

2   ответа
10

я думаю, что есть и другие варианты, кроме использования библиотеки Actionbar Sherlock, но, говоря об этом, я активно участвую в сообществе ABS и согласен, что это Fantasmagoricly действительно полезен и содержит все ресурсы пользовательского интерфейса, которые, вероятно, понадобятся.

Вы можете посмотреть на постепенную деградацию компонентов пользовательского интерфейса через уровни API. Так, например:

Ты можешь создать вvalues папку и установить стиль так

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyAppTheme" parent="@android:style/Theme.Light.NoTitleBar">
        <!-- Any customizations for your app running on pre-3.0 devices here -->
    </style>
</resources> 

Затем для устройств Android 3.0+ создайтеvalues-v11 папка:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyAppTheme" parent="@android:style/Theme.Holo.Light">
        <!-- Any customizations for your app running on 3.0+ devices here -->
    </style>
</resources>

И для 4.0+ устройств создайтеvalues-v14:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyAppTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
        <!-- Any customizations for your app running on 4.0+ devices here -->
    </style>
</resources>

REF:http: //android-developers.blogspot.co.uk/2012/01/holo-everywhere.htm, Как использовать тему Holo.Light и вернуться к режиму «Light» на устройствах с сотовой структурой?

Есть и этот проект:https: //github.com/ChristopheVersieux/HoloEverywher что он пытается передать голографическую тему.

В заключение; Google рекомендует разработчикам включать компоненты пользовательского интерфейса из SDK для решения проблемы обратной совместимости, а не ссылаться на них напрямую из ОС Android. Хотя это не ваш вопрос, это помогает обеспечить некоторую последовательность.

Для дизайна материалов я бы добавил: Developer.android.com / обучение / материалы / theme.html Yair Kukielka
3

очень широкая тема. Ответы различаются в зависимости от того, какой конкретный элемент вы пытаетесь использовать.

-Для ActionBar: если вы хотите ActionBar в более ранних версиях, ActionBarSherlock - популярная бесплатная библиотека, расширенная из библиотеки поддержки Android.

-Для цветовой схемы / темы: как описано в это так нить, создайте res / values / styles.xml и res / values-v11 / styles.xml (например, называемый «myStyle»), для каждого стиля выберите соответствующий родительский элемент. Для V11 это, вероятно, будет "Theme.Holo", тогда как для другого, вероятно, "Theme.Dark". Добавьте любые настройки, которые вы хотите к темам. Ссылка на эту пользовательскую тему в вашем манифесте, и правильная будет выбрана в зависимости от версии платформы устройства (папка values-v11 будет использоваться для Honeycomb и выше, другая - для Gingerbread и ниже)

-Для других функций платформы вы можете инкапсулировать специфичные для платформы функции в отдельных классах и получать к ним доступ на основе значения Build.VERSION.SDK, как описано в блог разработчика Android.

Похожие вопросы