Flutter Android кнопка возврата назад на главную страницу - PullRequest
0 голосов
/ 12 сентября 2018

Я хотел бы иметь возможность использовать кнопку «Назад» для перехода на главную страницу вместо закрытия приложения. Я видел опцию виджета WillPopScope, но для этого нужно показать диалоговое окно, есть ли способ вернуться назад, используякнопка возврата андроида без диалога?

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Для обратного вызова onWillPop требуется возвращение Future of bool.Вы просто можете сделать

Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () {
        return Future.value(true); // or return Future.value(false);
      },
      child: Container()
    );
}
0 голосов
/ 12 сентября 2018

Вы можете использовать метод Navigator.canPop (), чтобы избежать выхода из приложения.

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () async {
        return Navigator.canPop(context);
      },
      child: Scaffold(
        appBar: AppBar(title: const Text('HomePage')),
        floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,
        floatingActionButton: FloatingActionButton(
          child: const Icon(Icons.add),
          backgroundColor: Colors.red,
          onPressed: () {
            Navigator.push(
                context, MaterialPageRoute(builder: (context) => SecondPage()));
          },
        ),
      ),
    );
  }
}
...