Измените тему .Dialog, чтобы выглядеть как Theme.Light.Dialog на Android
Нет никакого Theme.Light.Dialog
для использования с остальной частью моего проекта, который использует Theme.Light
.
Как я могу изменить Theme.Dialog
, чтобы выглядеть как Theme.Light
версия Dialog
.
Я знаю, что я должен перезаписать разделы Theme.Dialog
в styles.xml, как показано ниже. Какие элементы следует переписать с помощью каких значений?
<style name="dialog_light" parent="@android:style/Theme.Dialog">
<item name="android:???????"></item>
<item name="android:???????"></item>
</style>
Я мог бы просто сделать фон темным белым серым, но кнопки, прядильщики и т.д. также отличаются от светлой темы, чтобы лучше выглядеть на светлом фоне.
ИЗМЕНИТЬ
Похоже, я начал работать.
<color name="black">#FF000000</color>
<color name="whitegrey">#FFF2F2F2</color>
<style name="dialog_light" parent="@android:style/Theme.Dialog">
<item name="@android:windowBackground">@color/whitegrey</item>
<item name="@android:textColor">@color/black</item>
</style>
Ответы
Ответ 1
Похоже, я начал работать.
<color name="black">#FF000000</color>
<color name="whitegrey">#FFF2F2F2</color>
<style name="dialog_light" parent="@android:style/Theme.Dialog">
<item name="@android:windowBackground">@color/whitegrey</item>
<item name="@android:textColor">@color/black</item>
</style>
Ответ 2
В дополнение к вышеизложенному, чтобы избежать создания цветов, я сделал следующее:
<!-- Makes a "light" equivalent of Theme.Dialog -->
<style name="dialog_light" parent="@android:style/Theme.Dialog">
<item name="@android:background">@android:color/background_light</item>
<item name="@android:textColor">@android:color/primary_text_light</item>
</style>
Ответ 3
Это хорошо, спасибо!
Я немного изменил его: когда я запускаю то, что вы предложили, весь экран окрашен в задний цвет, и диалог не выглядит так, как должен (с предыдущей активностью).
Поэтому вместо использования
@android:windowBackground
просто используйте
@android:background