如何更改android默认警报对话框的背景颜色

时间:2012-08-13 07:16:25

标签: android android-alertdialog

我有一个默认的警告对话框,其中列出了Text& amp;单选按钮。

我需要更换图片而不是文字(替换图片而不是Facebook信用卡,PayPal,下面显示的信用卡)&还需要更改警告对话框的背景颜色。

我也将style.xml文件放在values文件夹中。

如何在下面的代码中实现该文件以更改背景颜色?

我的代码:

 final CharSequence[] items = {"Facebook credit", "Paypal", "Credit Card"};

            //ContextThemeWrapper ctw = new ContextThemeWrapper( this, R.style.AboutDialog );
            AlertDialog.Builder builder = new AlertDialog.Builder(paymentPage.this);
            builder.setTitle("Payment Gateway");
            builder.setIcon(R.drawable.gate);
            builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int item) {
                   // Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
                }
            });

            builder.setPositiveButton("Yes",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            payPalPayment();
                        }


                    });
            builder.setNegativeButton("No",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            Toast.makeText(paymentPage.this, "Fail", Toast.LENGTH_SHORT).show();
                        }
                    });
            AlertDialog alert = builder.create();
            alert.show();
        }
    });

我的形象:

enter image description here

2 个答案:

答案 0 :(得分:1)

您应该自定义AlertDialog主题。请看以下帖子。

https://sites.google.com/site/androidhowto/how-to-1/customize-alertdialog-theme

此库可能会对您有所帮助:https://github.com/avast/android-styled-dialogs

答案 1 :(得分:0)

我有点面临同样的问题。解决它的唯一方法是扩展我自己的布局版本。我看到你的情况是一个AlertDialog。我建议你做的是创建一个独特的类,即你自定义的AlertDialog并为此创建一个布局,然后你膨胀它。

Here是一篇对我很有帮助的帖子。

我按照这篇文章解决了自定义对话框的问题。

如果您有更多疑问,请告诉我。

感谢。