Intereting Posts
Откройте пользовательское расширение файла из Google Диска на Android Как это работает – requestLocationUpdates () + LocationRequest / Listener Отладка платформы Android Spring: распечатать отправленные запросы Как получить код статуса в успешном ответе Volley Android Отладка отладки WebStorm не работает FIXED: невозможно подключиться к adb через wifi Android нарисовать на камере предварительный просмотр Управление ресурсами между версией рабочего стола и устройства в libgdx Процесс службы уничтожается после удаления приложения из лотка приложения. Обнаруживать нажатия на кнопки гарнитуры на Android? Android. RadioButtons в ListView В размер шрифта для файлов Photoshop размер 20px, что будет для этого в Android? Это то же самое? Означает 20px = 20sp или что-то еще? Почему ListView и RecyclerView focusableInTouchMode? Как получить текущее местоположение в Google Maps Android API v2? Комната Android: каждая переменная привязки в запросе должна иметь соответствующий метод

Установите Android Theme.Light для диалога оповещений

Я пытаюсь установить тему темы android Theme.Light для моего диалогового окна предупреждения, но пока не добился успеха. Прочитав несколько руководств, я понял, что с помощью AlertDialog.Builder мы не можем установить тему непосредственно в конструкторе (по крайней мере, на уровне API 7).

Альтернативное решение, которое я нашел, это использование ContextThemeWrapper , который, как гарантировали все, решит мою проблему. Поэтому я закодировал что-то вроде этого:

AlertDialog.Builder builder = new AlertDialog.Builder( new ContextThemeWrapper(context, R.style.popup_theme)); 

Я описал свою тему в папке значений:

 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="back_color">#ffffffff</color> <style name="popup_theme" parent="@android:style/Theme.Light"> <item name="android:windowBackground">@color/back_color</item> <item name="android:colorBackground">@color/back_color</item> </style> 

К сожалению, я по-прежнему получаю тему Theme.Dialog.Alert по умолчанию. Может ли кто-нибудь сказать мне, почему? Где я иду не так?

EDIT : Если вы не знаете ответа на мой вопрос, пожалуйста, проголосуйте. У меня плохая привычка публиковать вопросы, которые застряли 🙁

Solutions Collecting From Web of "Установите Android Theme.Light для диалога оповещений"

Change parent="android:Theme.Light" в parent="@android:style/Theme.Light"

Мне тоже понадобилось время, чтобы понять.

Проблема в том, что Theme.Light и Theme.Holo.Light и таковые разработаны вокруг этой деятельности. Тема диалога должна основываться на такой теме, как @android: style / Theme.Dialog, который содержит свойства, специфичные для диалогов.

 <style name="popup_theme" parent="@android:style/Theme.Dialog"> 

Попробуйте переопределить тему.Dialog, используя такие вещи, как:

 <item name="android:textAppearance">?android:attr/textAppearanceInverse</item> 
 parent="android:style/Theme.Light" 

Попробуй это:

 <style name="popup_theme" parent="Theme.AppCompat.Light.Dialog.Alert">