【发布时间】:2011-12-28 09:43:58
【问题描述】:
我想删除自定义对话框上的黑色背景,如图所示。我确定黑色背景来自对话框,而不是来自应用程序的背景。
;
AlertDialog 代码
public class MyAlertDialog extends AlertDialog {
public MyAlertDialog(Context context)
{
super(context);
}
public MyAlertDialog(Context context, int theme)
{ super(context, theme); }
}
活动代码
public void showMyDialogOK(Context context, String s, DialogInterface.OnClickListener OkListener) {
MyAlertDialog myDialog = new MyAlertDialog(context, R.style.MyDialog2);
myDialog.setTitle(null);
myDialog.setMessage(s);
myDialog.setButton(DialogInterface.BUTTON_POSITIVE ,"Ok", OkListener);
myDialog.show();
}
样式
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="@android:style/Theme.NoTitleBar.Fullscreen">
<item name="android:alertDialogStyle">@style/AlertDialog</item>
</style>
<style name="MyTheme2" parent="@android:style/Theme.Black">
<item name="android:alertDialogStyle">@style/AlertDialog</item>
</style>
<style name="AlertDialog">
<item name="android:fullDark">@null</item>
<item name="android:fullBright">@null</item>
<item name="android:topDark">@drawable/popup_top_dark</item>
<item name="android:topBright">@null</item>
<item name="android:centerBright">@null</item>
<item name="android:centerDark">@drawable/popup_center_dark</item>
<item name="android:centerMedium">@null</item>
<item name="android:bottomDark">@null</item>
<item name="android:bottomBright">@null</item>
<item name="android:bottomMedium">@drawable/popup_bottom_medium</item>
</style>
<style name="MyDialog2" parent="@android:Theme.Dialog">
<item name="android:windowBackground">@null</item>
<item name="android:buttonStyle">@style/CustomButton</item>
</style>
<style name="CustomButton" parent="@android:style/Widget.Button">
<item name="android:background">@drawable/button_stateful</item>
</style>
</resources>
图片资源
popup_center_dark.9.png
popup_bottom_medium.9.png
popup_top_dark.9.png
【问题讨论】:
-
你以前也问过这个问题吧? stackoverflow.com/questions/7497449/…
-
这两个问题不一样,问题已经解决了,解决了之前的问题,但是带来了新的问题。之前的问题只想去除框架而不是背景
-
hi pengwang,能否分享一下自定义对话框的代码或者解释一下你是如何改变对话框按钮样式的背景
-
没有一个答案对我有用。此处发布的答案是正确的解决方案。 stackoverflow.com/a/25174316/786337
标签: android android-alertdialog android-dialog android-styles