Сэндвич с мороженым представил множество новых элементов дизайна пользовательского интерфейса, но проникновение на рынок все еще составляет всего 4%. Если бы кто-то захотел в будущем доказать свое применение и использовать некоторые элементы дизайна, введенные с помощью сотового сэндвича Honeycomb/Ice Cream, например, панель действий, цветовая схема и т.д., Что было бы лучшим способом гарантировать, что вы поддерживаете некоторый недостаток назад совместимость?
Как поддерживать обратную совместимость при использовании Android API уровня 15?
Ответ 1
В то время как я согласен с @Ollie C, я думаю, что есть другие варианты, которые можно добавить, кроме как только используя библиотеку Sherlock Actionbar, заявив об этом, я активно участвую в сообществе 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.html, Как использовать тему Holo.Light и отступить к "Свету" на устройствах сотовой связи?
Существует также этот проект: https://github.com/ChristopheVersieux/HoloEverywhere, что он пытается принести голографическую тему.
Наконец; Google поощряет разработчиков включать компоненты пользовательского интерфейса из SDK, чтобы помочь с проблемой обратной совместимости, а не ссылаться на них непосредственно из ОС Android. Хотя это не ваш вопрос, это помогает обеспечить некоторую согласованность.
Ответ 2
Это очень, очень широкая тема. Ответы различаются в зависимости от того, какой конкретный элемент вы пытаетесь использовать.
- для ActionBar: если вы хотите использовать ActionBar в более ранних версиях, ActionBarSherlock - это популярная бесплатная библиотека, распространяемая с Android поддержка библиотеки.
- Для цветовой схемы/темы: как описано в этом потоке SO, создайте res/values /styles.xml и res/values-v11/styles. xml (например, называется "myStyle" ), для каждого стиля выберите соответствующего родителя. Для V11 это, вероятно, будет "Theme.Holo", а для другого, вероятно, "Theme.Dark". Добавьте любые настройки, которые вы хотите использовать для тем. Обратите внимание, что пользовательская тема в вашем манифестах и правильный выбор будут выбраны в зависимости от версии платформы устройства (папка значений-v11 будет использоваться для сотовых и вверх, другая для пряников и ниже).
- Для других функций платформы вы можете инкапсулировать функциональные возможности платформы в отдельных классах и обращаться к ним на основе значения Build.VERSION.SDK, как описано в блог разработчиков Android.
Ответ 3
http://www.actionbarsherlock.com
Эта (бесплатная) библиотека великолепна и обеспечивает то, что вы ищете на предыдущих версиях Android.