Нижняя навигация застревает во время отображения диалога ProgressBar - PullRequest
0 голосов
/ 04 июля 2018

Может кто-нибудь предложить, пожалуйста, вопрос ниже.

На самом деле я не могу перемещаться по параметру BottomNavigationView, пока отображается диалоговое окно индикатора выполнения.

Есть ли способ изменить высоту диалогового окна до BottomNavigationView, чтобы навигация могла работать?

Диалог ProgressBar

public class BusyViewOverlay
{
    private bool _isRunning;
    private Dialog dialog;
    public BusyViewOverlay(Context context)
    {
        dialog = new Dialog(context);
        var progressBar = new ProgressBar(context);

        progressBar.Indeterminate = true;
        progressBar.Visibility = ViewStates.Visible;
        progressBar.IndeterminateDrawable = context.GetDrawable(Resource.Drawable.progress_animation);
        dialog.Window.SetBackgroundDrawable(new ColorDrawable(Android.Graphics.Color.Transparent));
        dialog.SetCanceledOnTouchOutside(false);
        dialog.Window.SetDimAmount(0.0f);
        dialog.SetContentView(progressBar);
    }

    public bool IsRunning
    {
        get => _isRunning;
        set
        {
            _isRunning = value;

            if (_isRunning)
            {
                Show();
            }
            else
            {
                Dismiss();
            }
        }
    }

    private void Show() {
        dialog.Show();
    }

    private void Dismiss() {
        dialog.Dismiss();
    }
}

1 Ответ

0 голосов
/ 04 июля 2018

Тогда лучший способ, о котором я могу подумать, - это не использовать диалоговое окно индикатора выполнения, а использовать индикатор выполнения внутри макета и скрыть его или использовать visibility.gone, когда вам нужно показать его, чтобы сделать видимость видимой.

Еще один способ сделать это - динамически разместить диалог внутри определенного макета.

...