Может ли кнопка возврата устройства автоматически вызывать pop ()?

#flutter

#flutter

Вопрос:

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

Я имею в виду, я маршрутизирую свои страницы с помощью функции pushNamed() и pop, после чего я использую функцию pop(), но меня интересует, использует ли пользователь кнопку возврата устройства, что произойдет в стеке?

И я также не хочу использовать функцию popUntil.

если пользователь не будет использовать кнопку my AppBar, если просто использовать кнопку возврата устройства, будет ли моя XxxPage () в стеке или она удаляется автоматически?

Ответ №1:

Да, она извлекает ее из стека, если хотите, вы можете протестировать поведение, обернув экран WillPopScope() виджетом

например:

  WillPopScope(
   onWillPop: () {
          print('POP');
          return Future.value(true);
        },
   child: YourChildWidget )
 

Ответ №2:

Как описано Абдулрахманом, вы можете использовать WillPopScope для всплывающего окна или изменить что-то на pop.

 WillPopScope(
   onWillPop: () {
          print('This will pop');
          Navigator.pop(context);
        }, child: Container(),
   )
 

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