Android 13 的版本里 Android 就针对回来导航进行了很多更改,包含:
- 废弃原有的
KEYCODE_BACK
KeyEvent - 提供 Manifest 特点
enableOnBackInvokedCallback
以配置是否使用全新的 Back 导航特性 - 提供 Activity、Dialog 里处理 Back 导航的
OnBackInvokedDispatcher
入口 - 提供自定义 Back 导航逻辑的
OnBackInvokedCallback
回调 - 引入 Back 导航触发前方针界面的预览
详细的,能够查看笔者当时写的文章:Android 13 回来导航大改动:回来键彻底废弃 + 可预见型回来手势。
支撑预览方针界面
写上述文章时体系尚处于 13 beta 阶段,笔者并未看到 5 对应的 Back 预览效果,并以为 13 的最终版会完结该特性。但事实上直到 13 正式发布,该特性都没有到来,乃至是 14 beta 版都还没有正式发布。
咱们先来简略回忆一下全新的 Back 导航的适配方法:
- 敞开
enableOnBackInvokedCallback
特点。
<application
...
android:enableOnBackInvokedCallback="true"
... >
</application>
- 便是使用新的 back 相关 API,详细逻辑不赘述了。
class Activity ... {
private var onBackInvokedCallback: OnBackInvokedCallback? = null
override fun onCreate(savedInstanceState: Bundle?) {
...
if (BuildCompat.isAtLeastT()) {
onBackInvokedCallback = OnBackInvokedCallback {
onBackEvent()
}.also {
onBackInvokedDispatcher.registerOnBackInvokedCallback(
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
it
)
}
}
}
override fun onDestroy() {
super.onDestroy()
if (BuildCompat.isAtLeastT()) {
onBackInvokedCallback?.let {
onBackInvokedDispatcher.unregisterOnBackInvokedCallback(it)
}
}
}
}
然后在 14 上运行试下,能够看到并没有回来预览效果:
通过查阅,发现了官方的一些解释:
在 Android 13 中,咱们为手机、大屏设备和可折叠设备等 Android 设备引入了猜测性回来手势。该功用的发布历程跨度将达多年;在彻底完结后,该功用可让用户在彻底完结某个回来手势之前就能预览此手势完结后的目的地或其他结果,以便用户能够决定是持续完结手势还是留在当前视图中。
能够了解,这个功用的完结比较复杂,对体系大局的影响颇大,如何开放、开放什么样的回来预览 API 给 App 都需要研讨、测验,所以 13 没有发布,14 是否能发布,也比较悬。
但官方提示其实能够在开发者选项中体验下开发中的回来预览效果:
- 设置 > 体系 > 开发者选项 > 猜测性回来手势动画(Predictive back animation)
13 上是找不到该选项的,14 上能够找到:
敞开之后,再履行 back 导航,能够看到回来的预览效果:
但是回来视图里的箭头 icon 忽然不见了,阐明该功用还在开发傍边,14 正式版是否能够开发完毕,还需要时刻。
全新的回来箭头
13 及曾经的回来效果是比较简略的,只有一个依据 touch 视点、速度改动的箭头。
为了突出箭头的显现,能让用户愈加清晰地看到箭头的呈现、回来的触发,14 上给箭头添加了布景、边框。
乃至还支撑该箭头依据设备 Theme 进行改动,能更好地融入体系 UI。
比方咱们将 theme 的 basic color 改为绿色。
再看一下箭头的新效果:
结语
在支撑预览回来的方针界面功用之前,确实非常有必要借助回来箭头来提示回来手势的进度。但一旦这个预览功用开发完毕,这个箭头则显得不那么有必要,因为判别方针界面呈现的多少即可,就像 iOS 那样。
但话说回来,这个箭头并不需要 App 适配款式,悉数由体系的 SystemUI 完结,不会添加开发者的负担。所以,提供依据体系 Theme 改动的回来箭头算是 Android 回来导航的一大特征。
期待包含预览方针画面功用在内的完整 Back 导航功用早日发布!
引荐阅读
- Android 13 回来导航大改动:回来键彻底废弃 + 可预见型回来手势
参考资料
- Android 14 Beta 1
- Predictive back design
- 添加对猜测性回来手势的支撑