Flutter之WillPopScope组件
2019-04-10 本文已影响0人
习惯了_就好
/**
* 导航返回拦截,避免用户误触返回按钮而导致APP退出,常用的双击退出功能
* const WillPopScope({
Key key,
@required this.child,
@required this.onWillPop,//当用户点击返回按钮时调用(包括导航返回按钮及Android物理返回按钮),返回 Future.value(false); 表示不退出;返回 Future.value(true); 表示退出.
})
*/
@override
Widget build(BuildContext context) {
DateTime lastTime;
return WillPopScope(
onWillPop: () async {
if (lastTime == null || DateTime.now().difference(lastTime) > Duration(seconds: 1)) {
lastTime = DateTime.now();
Toast.toast(context, "双击退出");
return false;
}
return true;
},
child: MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("双击退出"),
),
),
),
);
}