5

我有一个带有文本和单选按钮列表视图的默认警报对话框。

我需要替换图像而不是文本(替换图像而不是 Facebook 信用卡、贝宝、信用卡,如下所示)并且还需要更改警报对话框的背景颜色。

我也将 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();
        }
    });

我的形象:

在此处输入图像描述

4

2 回答 2

1

您应该自定义 AlertDialog 主题。看下面的帖子。

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

这个库可能会帮助你:https ://github.com/avast/android-styled-dialogs

于 2015-02-20T12:01:50.127 回答
0

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

是一个对我帮助很大的帖子。

我关注了这篇文章并通过自定义对话框解决了我的问题。

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

谢谢。

于 2012-08-13T07:24:41.740 回答