在 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:
- 如何将标题周围的白框更改为#318d99?
- 对话框周围的框架也不透明。我该如何解决?
已经有一些有价值的 post 与您的问题密切相关。
- Google 关于自定义的 post 可能值得先看一看:
https://sites.google.com/site/androidhowto/how-to-1/customize-alertdialog-theme
- 看看这个博客post:
http://blog.supenta.com/2014/07/02/how-to-style-alertdialogs-like-a-pro/
具体来说,请转到第 5 部分:设置背景样式。
总而言之,他们建议您可能必须
- 停止继承 Holo
- 给你的主题一个 alertDialogStyle
- 然后创建具有以下属性的样式,您可以在此处获取参考:http://developer.android.com/reference/android/R.styleable.html#AlertDialog
您需要创建一个继承自默认警报对话框主题的新样式(这在我上面提到的两个 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>
我想更改主题中警告对话框标题的背景。 我对主题进行了以下更改:
<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:
- 如何将标题周围的白框更改为#318d99?
- 对话框周围的框架也不透明。我该如何解决?
已经有一些有价值的 post 与您的问题密切相关。
- Google 关于自定义的 post 可能值得先看一看: https://sites.google.com/site/androidhowto/how-to-1/customize-alertdialog-theme
- 看看这个博客post: http://blog.supenta.com/2014/07/02/how-to-style-alertdialogs-like-a-pro/
具体来说,请转到第 5 部分:设置背景样式。
总而言之,他们建议您可能必须
- 停止继承 Holo
- 给你的主题一个 alertDialogStyle
- 然后创建具有以下属性的样式,您可以在此处获取参考:http://developer.android.com/reference/android/R.styleable.html#AlertDialog
您需要创建一个继承自默认警报对话框主题的新样式(这在我上面提到的两个 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>