Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Flutter - изменить кнопку "Назад" на панели навигации

Автор вопроса: Rafael NoninoОтветов: 1

Добрый день,

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

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

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

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

Спасибо.

flutterdartuinavigationcontrollernavigationbar

Ответы

Ответ 1 · рейтинг 1 · diegoveloper

Используйте виджет 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"),),
        ),
      );
    }
  }

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы