Intereting Posts
Изменение панели действий searchview подсказка цвет текста Android; Геокодер, почему я получаю «услуга недоступна»? Возможно ли «понравиться» странице «fan» с помощью SDK для Facebook? Изменение цвета заголовка в многозадачном представлении? Android snapchat / MSQRD похожи на наклейки на лицо Добавление локальных файлов .aar в сборку Gradle с использованием «flatDirs» не работает Как получить идентификатор поставщика устройства на базе Android через adb? Мягкая клавиатура перекрывает EditTextPreferenceDialogFragmentCompat, когда AppTheme является прозрачным Как узнать причину SIGSEGV в Android Android-студия: почему minSdkVersion и targetSdkVersion указаны как в AndroidManifest.xml, так и build.gradle? Bitmapshader и canvas.scaling android Запрос Царства можно использовать IN? «Метод setListAdapter (ArrayAdapter) не определен для типа create" Как переключить диалог прогресса между детерминированными и неопределенными? Android Theme.Holo.Dialog меняет синие линии на оранжевый

Изменить тему в соответствии с версией Android

Я готовлю свое приложение для бесперебойной работы с сотами. У меня есть небольшой эстетический вопрос, связанный с темой android.

Для сотов рекомендуется использовать следующую тему.

android:theme="@android:style/Theme.Holo.Light" 

Как я могу заставить приложение использовать другую тему, когда она используется в предыдущей версии?

заранее спасибо

Solutions Collecting From Web of "Изменить тему в соответствии с версией Android"

EDIT : Обновлено для выпущенной версии 3.0 SDK.


Один из способов сделать это – установить <uses-sdk android:targetSdkVersion="11"> . Вы также должны поместить это выше своего определения <application> . Это позволит системе использовать голографическую тему, если она доступна, и тему по умолчанию в противном случае.

Другой способ сделать это – определить тему, например MyTheme , которая наследуется от другой темы в зависимости от версии уровня API / ОС. Вы можете сделать это, используя квалификаторы каталога ресурсов .

Структура вашего каталога может выглядеть так:

 res/ values/ styles.xml values-v11/ styles.xml 

Содержимое res/values/styles.xml будет выглядеть примерно так:

 <resources> <style name="MyTheme" parent="@android:style/Theme.Light"> ... </style> </resources> 

И содержимое res/values-v11/styles.xml будет примерно таким:

 <resources> <style name="MyTheme" parent="@android:style/Theme.Holo.Light"> ... </style> </resources> 

Обратите внимание, что в будущем тема Holo может не всегда иметь смысл по уровню API, поэтому позже вам может понадобиться настроить этот подход. Вы также можете использовать другие классификаторы каталогов, такие как values-large-v11 или тому подобное. Это полностью зависит от вас.