自定义 ProgressDialog 的背景颜色

4

我有一个ProgressDialog,它可以工作,但不符合我的审美需求:

enter image description here

我想要它变成这样:

enter image description here

我尝试过:

1- 主题(使用仅样式和样式+主题两种方法),如此解释
结果很糟糕(我得到了一个额外的蓝色边框围绕对话框和一个额外的填充在标题周围与默认灰色相同的颜色)

换句话说,我得到了像这样的东西:

enter image description here

2- 扩展ProgressDialog类并给它自定义布局,但没有成功

我得到了许多不同的错误,并且试图修复这个问题,那个问题...没办法!!

现在,我知道有人以前做过...请给我指点迷津!

一些代码,向您展示我如何实际制作它

在声明中,我有:

ProgressDialog pbrDlg = null;

然后在菜单选择中,我有:

case R.id.mnuBack:
case R.id.mnuRest:
{
    // Backup or Restore
    // Instantiate a new progress dialog
    pbrDlg = new ProgressDialog(ACT_Base.this);

    // Spinner (wheel) style dialog
    pbrDlg.setProgressStyle(ProgressDialog.STYLE_SPINNER);

    String str = "";
    if (itm.getItemId() == R.id.mnuBack)
    {
        pbrDlg.setIcon(android.R.drawable.ic_menu_save);
        pbrDlg.setTitle(getString(R.string.data_save));
        str = "save";
    }
    else
    {
        pbrDlg.setIcon(android.R.drawable.ic_menu_revert);
        pbrDlg.setTitle(getString(R.string.data_load));
        str = "load";
    }
    pbrDlg.setMessage(getString(R.string.data_msg));

    // Display the dialog
    pbrDlg.show();

    // Start the async task
    new Data_ImpEx_Task(str).execute();

    break;
}

这里有帮助:http://stackoverflow.com/questions/5401061/change-progressdialog-and-alertdialog-background-in-android - Niko
你计划支持的最低API级别是多少? - GareginSargsyan
我支持API级别8+(从2.2到...无限)。 - Phantômaxx
@Niko 不好意思,它并没有解决我的问题... - Phantômaxx
你进行了大量微小的编辑,即使是那些需要更多工作的帖子。请在编辑问题时确保改进任何不足之处。 - Tim
1个回答

3

我终于成功解决了我的问题。

我使用了一个DialogFragment,在每一部分中进行自定义,使其看起来像一个ProgressDialog

毕竟,我做的是显示警报和确认的同样的事情,所以...

这就是我得到的结果:

输入图像描述

我只需要将图标变成蓝色口味,就几乎完美了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接