进度对话框需要屏幕中心

时间:2018-04-27 08:07:55

标签: android xamarin xamarin.android progress-bar progressdialog

如果我得到以下问题的建议,我将不胜感激。

我实现了progressdialog,但它在屏幕的左侧显示。任何人都可以建议如何将其移动到屏幕的中心。

Dialog _ProgressDialog;

    var dialog = new Android.App.ProgressDialog(activity);

                dialog.Window.SetGravity(GravityFlags.Center);

                dialog.Indeterminate = true;

                dialog.SetCancelable(false);

                dialog.SetCanceledOnTouchOutside(false);

                dialog.SetProgressStyle(ProgressDialogStyle.Spinner);

                _ProgressDialog = dialog;
                _ProgressDialog.Window.SetBackgroundDrawable(new ColorDrawable(Android.Graphics.Color.Transparent));

                _ProgressDialog.Show();

此外,我们是否可以使用ProgressBar实现相同的实现,因为现在不推荐使用ProgressDialog。

提前致谢!

1 个答案:

答案 0 :(得分:2)

  

我实现了progressdialog,但它在屏幕的左侧显示

原因是ProgressDialogTextView的右侧有一个ProgressBar。您可以使用SetMessage()方法设置值。

  

我们可以使用ProgressBar实现相同的实现,因为现在不推荐使用ProgressDialog。

是的,你可以。您可以创建ProgressBar,并使用SetContentView()方法将其设为_ProgressDialog的内容。
例如:

        Dialog _ProgressDialog = new Dialog(this);
        var dialog = new ProgressBar(this);

        dialog.Indeterminate = true;
        dialog.Visibility = ViewStates.Visible;

        _ProgressDialog.Window.SetBackgroundDrawable(new ColorDrawable(Android.Graphics.Color.Transparent));
        _ProgressDialog.SetContentView(dialog);
        _ProgressDialog.Show();

结果是:
enter image description here