Перехват события системной кнопки Back в Android
Егор Долгов · 22.04.2019This article was written for an older Flutter version and is being updated. Some code may not compile on the current version.
Необходимо использовать виджет WillPopScope источник
Возникают ситуации когда вам нужно обойти событие поумолчанию, системной кнопки back (кнопка назад) на сматрфонах с Android. Для этого в виджете экрана используйте виджет WillPopScope
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () async => false,
child: Scaffold(
appBar: AppBar(
title: Text("data"),
leading: IconButton(
icon: Icon(Icons.ac_unit),
onPressed: () => Navigator.of(context).pop(),
),
),
),
);
}
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () async {
//Замена события
Navigator.of(context).pop();
return false;
},
child: Scaffold(
appBar: AppBar(
title: Text("data"),
leading: IconButton(
icon: Icon(Icons.ac_unit),
onPressed: () => Navigator.of(context).pop(),
),
),
),
);
}
Можно сделать переход по маршруту или выполнить свою бизнес логику перед выполнением функции Navigator.pop().