1.前言
在13.0的系统rom定制化os开发中,在系统默认的功能中,在app设置全屏后,会隐藏导航栏和状态栏,页面全屏显示,然后如果底部上滑这时就会显示虚拟
状态栏和导航栏显示几秒钟后会自动消失,由于项目开发的功能需求,要求需要要求通过api来控制全屏时上滑是否显示虚拟导航栏和状态栏,这就要从上滑事件
分析看如何显示虚拟导航栏和状态栏的流程来控制是否显示的实现
2.app全屏时通过系统属性控制上滑是否显示虚拟导航栏和状态栏的核心类
frameworks\base\services\core\java\com\android\server\wm\DisplayPolicy.java
frameworks/base/services/core/java/com/android/server/wm/InsetsControlTarget.java
3.app全屏时通过系统属性控制上滑是否显示虚拟导航栏和状态栏的核心功能分析和实现
在Android13中,一般的window的是在 DisplayPolicy的layoutWindowLw方法中布局的,而导航栏和状态栏分别是在DisplayPolicy的layoutNavigationBar和layoutStatusBar方法中布局的。
在 Android 9(及更低版本)中,PhoneWindowManager 类处理了