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