Диалог прогресса требует Центр экрана - PullRequest
0 голосов
/ 27 апреля 2018

Буду признателен, если я получу предложения по следующим вопросам.

Я реализовал 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 голосов
/ 04 мая 2018

Я реализовал ProgressDialog, но он отображается в левой части экрана

Причина в том, что ProgressDialog имеет TextView справа от 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

...