1、引言
文章《Android13車機系統實現系統欄自定義顯示策略》介紹了車機系統上自定義系統欄(狀態欄、底部欄)顯示策略,文中末尾提到了一個遺留問題:
由于狀態欄區域支持點擊或下拉顯示出快捷設置&消息通知欄,三方應用顯示時,從狀態欄中間區域而不從頂部邊緣下拉,底部欄顯示時會將應用界面頂上去,并沒有走沉浸式的暫時顯示邏輯,與客戶需求不符。
2、分析
2.1 邊緣手勢觸發TransientBars模式
官方文檔《在沉浸模式下隱藏系統欄》中提到:
指定隱藏的系統欄的行為
使用 WindowInsetsControllerCompat.setSystemBarsBehavior() 指定當用戶與隱藏的系統欄互動時,系統欄的行為
方式。. 使用 WindowInsetsControllerCompat.BEHAVIOR_SHOW_BARS_BY_TOUCH 可在相應顯示屏上通過任何用戶互動顯
示隱藏的系統欄。. 使用 WindowInsetsController