【问题标题】:Change Dialog Theme for every Dialog为每个对话框更改对话框主题
【发布时间】:2013-09-17 01:28:27
【问题描述】:

我正在使用 Theme.Holo.Light.DarkActionBar,但我不太喜欢 Light Dialogs/AlertDialogs。

我想把每个 Dialog 都改成暗的 Holo Dialog。

<style name="CustomDialogTheme" parent="@android:style/Theme.Holo.Dialog">
    <item name="@android:background">#9933CC</item>
    <item name="@android:textColor">#02FA07</item>
</style>

<style name="Holo.Light.DarkActionBar" parent="@android:style/Theme.Holo.Light.DarkActionBar">
    <item name="android:dialogTheme">@style/CustomDialogTheme</item>
    <item name="android:alertDialogStyle">@style/CustomDialogTheme</item>
</style>

这就是我尝试过的,但它对任何对话框都没有影响。

【问题讨论】:

  • 你是如何将它应用到你的应用程序中的?
  • 我之前尝试过同样的方法,但从未在对话框上成功...我终于根据代码中选择的主题(对于每个对话框)动态添加了样式。
  • @YoannHercouet 如何为Dialog动态设置样式?

标签: android dialog styles themes android-alertdialog


【解决方案1】:

好的 nvm 我愚蠢的是 android:alertDialogTheme 而不是 android:alertDialogStyle。但这会弄乱 Preference Dialogs,所以我只是继续使用 Light Dialogs。

【讨论】:

  • 需要 API 级别 11 :/
【解决方案2】:

在AndroidManifest.xml的application标签下,添加这一行:

android:theme="Holo.Light.DarkActionBar"

问题是您要更改的样式 android:backgroundandroid:textColor 不是对话框属性。

您可以在第 1617 行的Theme.Holo.Dialog 下看到full list here

你要改的大概是android:windowBackgroundtextAppearance

【讨论】:

  • 是的,我这样做了,它适用于其他样式(在我的示例中已删除),但不适用于对话框。
  • 只使用这个:&lt;style name="CustomDialogTheme" parent="@android:style/Theme.Holo.Dialog"&gt;&lt;/style&gt; 应该给我黑暗的对话框吧?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
  • 1970-01-01
  • 1970-01-01
  • 2011-01-27
相关资源
最近更新 更多