Невозможно сделать фон showDialog прозрачным - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь открыть диалоговое окно при выполнении запроса http, чтобы выполнить sh. Я создал функцию, которая отображает диалоговое окно на экране.

Вот мой код.

class AppLoader {
  static Future<void> showLoadingDialog(BuildContext context, GlobalKey key) async {
    return showDialog(
      context: context,
      barrierDismissible: false,
      builder: (ctx) {
        return new WillPopScope(
          onWillPop: () async => false, 
          child: SimpleDialog(
            key: key,
            backgroundColor: Colors.white70,
            children: <Widget>[
              Center( 
                child: Column(children: <Widget>[
                  CircularProgressIndicator(),
                  SizedBox(height: 10),
                  Text('Please wait...', style: TextStyle(color: Colors.black))
                ],),
              )
            ],
          )
        );
      }
    );
  }
}

и вызывая его, как показано ниже:

AppLoader.showLoadingDialog(context, _keyLoader);

И вывод на экран, как показано ниже.

enter image description here

Как вы можете видеть, на по центру прямоугольник angular отображается белая коробка в форме фона. Я хочу удалить этот белый фон.

Я также пытался установить backgroundColor: Colors.transparent,, но он не работает. Это выглядит более проводной интерфейс. enter image description here

Просто хочу показать загрузчик и текст диалога.

1 Ответ

0 голосов
/ 25 апреля 2020

Если вы хотите изменить цвет фона SimpleDialog на прозрачный, то добавьте цвет фона с высотой, как показано ниже,

new SimpleDialog(
  backgroundColor: Colors.transparent,
  elevation: 0.1,
  title: new Text('Do you like Flutter?'),
  children: <Widget>[
    Center(
      child: Column(
        children: <Widget>[
          CircularProgressIndicator(),
          SizedBox(height: 10),
          Text('Please wait...', style: TextStyle(color: Colors.black))
        ],
      ),
    )
  ],
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...