在 Android 中更改对话框标题周围的框架颜色

Change color of frame around the dialog title in Android

我想更改主题中警告对话框标题的背景。 我对主题进行了以下更改:

<style name="NgTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:dialogTheme">@style/NgDialogTheme</item>
    <item name="android:alertDialogTheme">@style/NgAlertDialogTheme</item>
</style>

<style name="NgDialogTheme" parent="@android:style/Theme.Holo.Light.Dialog">
    <item name="android:background">@android:color/transparent</item>
    <item name="android:windowTitleStyle">@style/NgWindowTitleStyle</item>
</style>

<style name="NgAlertDialogTheme" parent="@style/NgDialogTheme">
</style>

<style name="NgWindowTitleStyle" parent="android:TextAppearance.Holo.DialogWindowTitle">
    <item name="android:background">#318d99</item>
    <item name="android:textColor">#fff</item>
</style>

我预计标题的背景会变成#318d99。但只有文字背景是#318d99:

  1. 如何将标题周围的白框更改为#318d99?
  2. 对话框周围的框架也不透明。我该如何解决?

已经有一些有价值的 post 与您的问题密切相关。

  1. Google 关于自定义的 post 可能值得先看一看: https://sites.google.com/site/androidhowto/how-to-1/customize-alertdialog-theme
  2. 看看这个博客post: http://blog.supenta.com/2014/07/02/how-to-style-alertdialogs-like-a-pro/

具体来说,请转到第 5 部分:设置背景样式

总而言之,他们建议您可能必须

您需要创建一个继承自默认警报对话框主题的新样式(这在我上面提到的两个 post 中都有讨论):

<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog">
    <item name="android:bottomBright">@color/white</item>
    <item name="android:bottomDark">@color/white</item>
    <item name="android:bottomMedium">@color/white</item>
    <item name="android:centerBright">@color/white</item>
    <item name="android:centerDark">@color/white</item>
    <item name="android:centerMedium">@color/white</item>
    <item name="android:fullBright">@color/orange</item>
    <item name="android:fullDark">@color/orange</item>
    <item name="android:topBright">@color/blue</item>
    <item name="android:topDark">@color/blue</item>
</style>