Intereting Posts
С 0.4.3 Android Studio, ошибка: «Синхронизация проекта Gradle не удалась. Основные функции (например, редактирование, отладка) не будут работать должным образом " Пожалуйста, посоветуйте мне мобильное приложение Java Определите, какой AlertDialog запускается onClick (диалог DialogInterface, int which) Android GCM и несколько токенов Получите массив RadioButtons в RadioGroup на Android Не удается найти R.layout.activity_main Как использовать стиль уведомления по умолчанию? Как ограничить доступ к API конечных точек Google App Engine только для моих приложений Android? Сбой приложений только в версии выпуска Разбор андроида apk? Каковы состояния потока Dalvik? Проект Android / Scala в IntelliJ 14 компилируется, но сбой при запуске не находит Scala class Есть ли веская причина, почему мы не всегда должны использовать Google API SDK? Прозрачный StatusBar с динамическим цветом ActionBar в Android Как установить размер векторного изображения внутри кнопки в Android?

Как использовать тему Holo.Light и вернуться к «Свету» на устройствах с предварительной сотой?

Я хотел бы использовать тему Holo.Light на устройствах, которые ее поддерживают, и вернуться к обычной теме Light на других устройствах.

На данный момент ссылка на Holo.Light отлично работает на 3.0+, но более старые API просто возвращаются к теме «темного» по умолчанию. Могу ли я получить то, что хочу, с наследованием стиля?

Solutions Collecting From Web of "Как использовать тему Holo.Light и вернуться к «Свету» на устройствах с предварительной сотой?"

Вы должны создать собственную тему и сохранить ее в некоторых каталогах, чтобы окончательно установить эту тему как стандартную для приложения

Во-первых, в значениях добавить theme.xml вот так:

 <?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> 

Затем создайте каталог с именем «values-v11» (Android 3.0+) в каталоге res и поместите theme.xml, как это

 <?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> 

Наконец, создайте каталог с именем «values-v14» (Android 4.0+) в каталоге res и создайте theme.xml

 <?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> 

С DeviceDefault ваше приложение всегда выглядит идеально в любом устройстве любой компании (HTC Samsung …), которые добавляют созданные пользовательские темы для Android 4

EDIT: интерфейс Samsung (TouchWiz) не уважает эту функцию, и приложения будут очень уродливыми на устройствах Samsung. Его лучше поставить тему Holo 🙁

Наконец, в вашем manifest.xml

  <application ... android:theme="@style/MyAppTheme"> 

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

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" **android:background="#ffffff" android:orientation="vertical" > <TextView android:id="@+id/tvText" android:text="@string/text" **android:textColor="#000000" android:textSize="12dp" />