在 Flutter 中实现预测性返回

安卓14中新增了一个叫做预测性返回手势的功能。在这之前,安卓平台上的返回一直是“不可预测”的。和iOS对比来讲。iOS一般可以通过标题栏左侧的返回按钮来返回到上一级菜单,也可以通过从这个页面来的方向的相反方向从屏幕边缘滑动来退出页面。(比如你点击设置中的某一项,子页面将会从屏幕右侧飞入。这时候你可以通过从屏幕左边向右边滑动,给他丢回去)通过这样的方法返回时,你不仅可以看见这个页面的上一级应该是什么,还能随时取消操作。

而在之前的Android应用程序中,在全面屏手势出来前,只能通过三大金刚中的返回键返回。这种返回方式给我的感觉是类似 iOS 中标题栏返回按钮的。这样实现是最简单的,只需要把返回按钮按下的信息给到 App 中,App导航到上一级页面即可。但是这样做就没办法在返回上一级的过程中提前预测上一级页面的内容,再来判断是否要继续返回上一级页面。另外,这样做还可以让 App 的上手难度更低,因为这一切都非常符合直觉。

更改安卓设置

由于这是一个安卓特性,所以不需要在 Flutter 的层面去启用

如果你的项目创建时间较早,找到 AndroidManifest.xml 文件并设置 android:enableOnBackInvokedCallback="true"

接着,应用就已经可以支持预测性返回了。但是我们在模拟器可能看不出效果

更改模拟器设置

虽然标题是更改模拟器设置,但是在安卓15以下的真机是一样的

在系统设置中找到关于设备. 连续点击 Build Number 或其他代表ROM版本的 Tile

提示开发者模式启用后,在开发者选项中启用预测性返回

这样便可以在非安卓15的设备上使用该功能了

chevron_left
chevron_right

Leave a comment

您的邮箱地址不会被公开。 必填项已用 * 标注

Comment
Name
Email
Website