19

没有Theme.Light.Dialog与我正在使用的项目的其余部分一起使用Theme.Light

如何更改为看起来Theme.Dialog像.Theme.LightDialog

我知道我必须覆盖Theme.Dialogstyle.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>
4

3 回答 3

32

看起来我让它工作了。

<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>
于 2013-02-18T22:00:26.767 回答
9

Further to the above, to avoid making up colors, I did this:

<!-- 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>
于 2014-04-28T07:19:07.433 回答
5

这个很好,谢谢!我只是稍微更改了一下:当我运行您建议的内容时,整个屏幕都涂有背景颜色,并且对话框看起来不像应有的那样(先前的活动变暗)。

所以而不是使用

@android:windowBackground

只需使用

@android:background
于 2013-05-07T09:20:28.217 回答