flutter

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("双击退出"),
          ),
        ),
      ),
    );
  }
上一篇 下一篇

猜你喜欢

热点阅读