Flutter — изменить кнопку «Назад» на панели навигации

Добрый день,

Мне нужно изменить команду с кнопки «Назад», расположенной на панели навигации на мобильных телефонах Android, как показано ниже?

введите здесь описание изображения

Мне нужно изменить кнопку, чтобы появилось сообщение, "Do you really want to quit the application?". Чтобы подтвердить, что пользователь выходит из программы.

Кто-нибудь может помочь?

Спасибо.


person Rafael Nonino    schedule 09.08.2018    source источник


Ответы (1)


Используйте виджет WillPopScope для управления действием кнопки "Назад", например:

  class TestingWidget extends StatefulWidget {

    @override
    TestingWidgetState createState() {
      return new TestingWidgetState();
    }
  }

  class TestingWidgetState extends State<TestingWidget> {
    Future<bool> _onBackPressed(){
      final alertDialog = AlertDialog(
        content: Text("Do you really want to quit the application?"),
        actions: <Widget>[
          FlatButton(
            child: Text('Yes'),
            onPressed: () => Navigator.of(context).pop(),
          ),
          FlatButton(
            child: Text('No'),
            onPressed: () => Navigator.of(context).pop(),
          )
        ],
      );
      showDialog(
          barrierDismissible: false,
          context: context,
          builder: (context) => alertDialog);
    }

    @override
    Widget build(BuildContext context) {
      return WillPopScope(
        onWillPop: _onBackPressed,
        child: Scaffold(
          appBar: AppBar(),
          body: Center(child: Text("Hello world"),),
        ),
      );
    }
  } 
person diegoveloper    schedule 09.08.2018