kar*_*i j 2 android dart flutter
我希望在flutter应用程序中具有与Android相同的onbackpressed逻辑,并且我想在单击手机后退按钮时关闭该应用程序。
当我们单击电话返回而不是应用返回按钮时,谁能告诉我该怎么做。
android:
@Override
public void onBackPressed()
{
// code here to show dialog
super.onBackPressed(); // optional depending on your needs
}
Run Code Online (Sandbox Code Playgroud)
您可以为此使用WillPopScope。这是一个类,它会在封闭ModalRoute(即将在内部使用Navigator)弹出时通知您。它甚至使您可以选择是否要弹出。
只需将第二个屏幕包裹在Scaffold中即可WillPopScope。
return WillPopScope(
onWillPop: () async {
// You can do some work here.
// Returning true allows the pop to happen, returning false prevents it.
return true;
},
child: ... // Your Scaffold goes here.
);
Run Code Online (Sandbox Code Playgroud)
希望这会有所帮助...
Future<bool> _onBackPressed() async {
// Your back press code here...
CommonUtils.showToast(context, "Back presses");
}
Run Code Online (Sandbox Code Playgroud)
WillPopScope 创建一个小部件,该小部件注册回调以否决用户关闭封闭 ModalRoute 的尝试。
@override
Widget build(BuildContext context) {
return new WillPopScope(
onWillPop: _onBackPressed,
child: ...child
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1779 次 |
| 最近记录: |