加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Flutter App中取消激活系统后退按钮(幼儿导航)

发布时间:2020-12-14 14:55:46 所属栏目:百科 来源:网络整理
导读:有没有办法在特定页面上取消激活 Android后退按钮? class WakeUpApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( title: "Time To Wake Up ?",home: new WakeUpHome(),routes: String,WidgetBuilde
有没有办法在特定页面上取消激活 Android后退按钮?

class WakeUpApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: "Time To Wake Up ?",home: new WakeUpHome(),routes: <String,WidgetBuilder>{
        '/pageOne': (BuildContext context) => new pageOne(),'/pageTwo': (BuildContext context) => new pageTwo(),},);
  }
}

在pageOne上我有一个按钮转到pageTwo:

new FloatingActionButton(
  onPressed: () {    
    Navigator.of(context).pushNamed('/pageTwo');
  },)

我的问题是如果我按下Android屏幕底部的后退箭头,我会回到pageOne.我希望这个按钮根本不显示.
理想情况下,除非用户将手指按在屏幕上5秒钟,否则我希望没有可能的方法离开此屏幕. (我正在尝试为幼儿写一个应用程序,并希望只有父母能够导航出特定的屏幕).

解决方法

答案是WillPopScope.它将阻止页面被系统弹出.你仍然可以使用Navigator.of(context).pop()

@override
Widget build(BuildContext context) {
  return new WillPopScope(
    onWillPop: () async => false,child: new Scaffold(
      appBar: new AppBar(
        title: new Text("data"),leading: new IconButton(
          icon: new Icon(Icons.ac_unit),onPressed: () => Navigator.of(context).pop(),),);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读