有没有办法在特定页面上停用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(),
},
);
}
}
Run Code Online (Sandbox Code Playgroud)
在pageOne上我有一个按钮可以转到pageTwo:
new FloatingActionButton(
onPressed: () {
Navigator.of(context).pushNamed('/pageTwo');
},
)
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我按下Android屏幕底部的后退箭头,我会回到pageOne.我希望这个按钮根本不显示.理想情况下,除非用户将手指按在屏幕上5秒钟,否则我希望没有可能的方法离开此屏幕.(我正在尝试为幼儿写一个应用程序,并希望只有父母能够导航出特定的屏幕).
目前,我正在使用以下代码:
body: new Container(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
new MaterialButton(
height: 120.0,
child: new Column(
children: <Widget>[
new Icon(
Icons.av_timer,
size: 100.0,
),
new Text('TIMER'),
],
),
onPressed: null,
),
new MaterialButton(
height: 120.0,
child: new Column(
children: <Widget>[
new Icon(Icons.alarm_add, size: 100.0),
new Text('ALARM'),
],
),
onPressed: null,
)
])));
Run Code Online (Sandbox Code Playgroud)
但是,我必须将Icon大小"硬编码"为100.0,将MaterialButton的高度"硬编码"为120.0.
我希望MaterialButton占用尽可能多的空间(每个屏幕占50%),我希望这些图标能够"很好地适应"该空间,理想情况下还有文本缩放.
我还没有找到在Flutter中做到这一点的方法.如果尝试这样做不是一个好主意(我希望在任何设备上使用屏幕的整个空间),请告诉我原因?
flutter ×2