Android 进度对话框需要位于屏幕中央

Android 进度对话框需要位于屏幕中央,android,xamarin,xamarin.android,progress-bar,progressdialog,Android,Xamarin,Xamarin.android,Progress Bar,Progressdialog,如果我能得到以下问题的建议,我将不胜感激 我实现了progressdialog,但它显示在屏幕的左侧。有谁能建议一下如何把它移到屏幕中央吗 Dialog _ProgressDialog; var dialog = new Android.App.ProgressDialog(activity); dialog.Window.SetGravity(GravityFlags.Center); dialog.Indeterm

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

我实现了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现在不推荐使用的相同的实现吗

提前谢谢

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

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

我们可以使用ProgressBar实现与ProgressDialog现在不推荐使用的相同的实现吗

是的,你可以。您可以创建一个
ProgressBar
,并使用
SetContentView()
方法使其成为
\u 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();
结果是:

这是xamarin吗?如果是,则添加
xamarin
标记。当然@ADM.Updated。我对xamarin没有任何想法。但我认为它应该默认显示在中间。请参阅,这可能会有所帮助。将水平和垂直对齐添加到中心。这可能会解决你的问题。谢谢@ADM,但无法工作。纠正@billy,你的观察完全正确,这就是我一直在寻找的解决方案。我想放弃100+,但不幸的是,我没有足够的声誉来投票,因为我是这里的新手,但一旦我有资格投票,我肯定会先这么做。似乎有人被投票认为不清楚或没有用处。非常失望,因为这降低了我的声誉,而我问了一个合理的问题。