У меня есть обычай DialogPreference Dialog, который имеет свой макет, изложенный в RelativeLayout, который содержит следующее:Android Пользовательские Dialog TextView и Цвет фона
- Checkbox
- TextView
- Text Field
Это хорошо в Android 4.0+, потому что тема, которую мы используем, это Theme.Light, так что цвет фона в диалоговом окне белый, а текст по умолчанию - черный для метки Checkbox и TextView. Тем не менее, в 2.3.3, цвет фона темно-серый, поэтому становится трудно увидеть текст ... тема по-прежнему остается Theme.Light.
Я думал, что для этого потребуется создать специальный диалог, потому что флажок включает/отключает текстовое поле. На данный момент я делаю фоновый цвет relativelayout для этого Dialog white ... но мне не очень нравится это решение, так как там могут быть случаи, когда некоторые другие телефоны 2.3.3 могут не иметь белого цвета в качестве диалогового окна по умолчанию background ...
Есть ли более чистый способ устранить эту проблему?
Я заметил, этот человек имеет те же проблемы: Custom Support Dialog Fragment text is the wrong color
другой с проблемой: Android: Issue with showing dialog from Theme.Light activity
EDIT: Прикрепленный скриншот. Это то, на чем похоже LG Optimus 2X с 2.3.3. В моей галактике samsung samant, которая работает с 2.3.3, фон еще темнее, поэтому вы вряд ли сможете увидеть текст.
Вы можете просто переопределить фон диалога в своей настраиваемой теме, даже предоставляя цвет, необходимый для 2.3.3, используя квалификаторы ресурсов. В любом случае: разместите снимок экрана, который показывает проблему, с которой вы сталкиваетесь. –
Я хотел бы сохранить стили OS по умолчанию ... я не хочу использовать 1 пользовательскую тему, чтобы диалоги в версиях 2.3.3 и 4.0+ имели одинаковый стиль ... Если это невозможно, тогда да, это что мне придется делать, я думаю. –