Если мы перемещаемся по экрану два с экрана один, как бы я закончил экран один, класс в фоновом режиме (в настоящее время первый экран все еще в фоновом режиме, т.е. не заканчивается)

2
Madhuslin KS 10 Фев 2020 в 09:00

3 ответа

Лучший ответ

Вы можете использовать виджет WillPopScope и отменить запрос кнопки «Назад», чтобы страница не возвращалась

Widget build(BuildContext context) {  
    return 
    WillPopScope(
    onWillPop: () async {
          Future.value(
              false); //return false
        },
    child:
    Scaffold( //scaffold code)

    );
  }

И вы также можете установить следующее внутри виджета AppBar, чтобы скрыть кнопку назад

automaticImplyLeading: false

1
Pratheesh Russell 10 Фев 2020 в 07:05

Во флаттере вы можете использовать Navigator.of (context) .pop ();

под кодом, закройте текущую страницу, перейдите и откройте новую страницу.

Navigator.of(context)..pop()..pushNamed("/ui/dashbord", arguments:{});

Определите весь путь маршрута в основном классе, после того как вы сможете получить доступ ко всем классам, используя имя маршрута.

В дротике мы можем использовать оператор ".." для запуска нескольких операторов в одной строке.

1
Rohit Soni 10 Фев 2020 в 06:23

Позвоните Navigator.of(context).pop(), прежде чем перейти к следующему экрану.

Также вы можете использовать более удобный метод pushReplacement

Navigator.pushReplacement(context, MaterialPageRoute(builder: (BuildContext context) => NewPage()));
2
Darish 10 Фев 2020 в 06:08