1、引言
文章《Android13车机系统实现系统栏自定义显示策略》介绍了车机系统上自定义系统栏(状态栏、底部栏)显示策略,文中末尾提到了一个遗留问题:
由于状态栏区域支持点击或下拉显示出快捷设置&消息通知栏,三方应用显示时,从状态栏中间区域而不从顶部边缘下拉,底部栏显示时会将应用界面顶上去,并没有走沉浸式的暂时显示逻辑,与客户需求不符。
2、分析
2.1 边缘手势触发TransientBars模式
官方文档《在沉浸模式下隐藏系统栏》中提到:
指定隐藏的系统栏的行为
使用 WindowInsetsControllerCompat.setSystemBarsBehavior() 指定当用户与隐藏的系统栏互动时,系统栏的行为
方式。. 使用 WindowInsetsControllerCompat.BEHAVIOR_SHOW_BARS_BY_TOUCH 可在相应显示屏上通过任何用户互动显
示隐藏的系统栏。. 使用 WindowInsetsController