为警报对话框设置Android主题灯

为警报对话框设置Android主题灯,android,android-layout,android-alertdialog,android-theme,Android,Android Layout,Android Alertdialog,Android Theme,我正在尝试为我的警报对话框设置android主题。Light主题,但迄今为止没有成功。在阅读了一些教程之后,我发现使用AlertDialog.Builder我们无法直接在构造函数中设置主题(至少在API级别7中) 我找到的另一种解决方案是使用ContextThemeWrapper,每个人都相信它会解决我的问题。所以我编写了这样的代码: AlertDialog.Builder builder = new AlertDialog.Builder( new Co

我正在尝试为我的警报对话框设置android主题。Light主题,但迄今为止没有成功。在阅读了一些教程之后,我发现使用AlertDialog.Builder我们无法直接在构造函数中设置主题(至少在API级别7中)

我找到的另一种解决方案是使用ContextThemeWrapper,每个人都相信它会解决我的问题。所以我编写了这样的代码:

AlertDialog.Builder builder = new AlertDialog.Builder(
                    new ContextThemeWrapper(context, R.style.popup_theme));
我在values文件夹中描述了我的主题:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="back_color">#ffffffff</color>
<style name="popup_theme" parent="@android:style/Theme.Light">
    <item name="android:windowBackground">@color/back_color</item>
    <item name="android:colorBackground">@color/back_color</item>
</style>

#ffffffff
@颜色/背色
@颜色/背色

不幸的是,我仍然得到默认的主题.Dialog.Alert主题。谁能告诉我为什么?我哪里做错了

编辑
如果你不知道我问题的答案,请投赞成票。我有一个不好的习惯,就是发帖时会卡住:(

parent=“android:Theme.Light”
更改为
parent=“@android:style/Theme.Light”

这也花了我一段时间才弄明白

目前的问题是Theme.Light和Theme.Holo.Light等都是围绕活动设计的。对话主题需要基于@android:style/Theme.dialog等主题,其中包含特定于对话的属性

<style name="popup_theme" parent="@android:style/Theme.Dialog">

尝试覆盖主题对话框,使用以下内容:

<item name="android:textAppearance">?android:attr/textAppearanceInverse</item>
android:attr/textAppearanceInverse 试试这个:

<style name="popup_theme" parent="Theme.AppCompat.Light.Dialog.Alert">

这就是我所做的。它对我很有效

AlertDialog.Builder builder = new AlertDialog.Builder(context,R.style.Theme_AppCompat_Light_Dialog);

更正了。仍然没有更改。它工作吗?另外,如何设置actionBarSherlock对话框?
AlertDialog.Builder builder = new AlertDialog.Builder(context,R.style.Theme_AppCompat_Light_Dialog);