1.前言
在11.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\StatusBarController.java
frameworks\base\services\core\java\com\android\server\wm\BarController.java
3.app全屏时通过系统属性控制上滑是否显示虚拟导航栏和状态栏的核心功能分析和实现
3.1 DisplayPolicy.java关于全局手势相关功能分析
public class DisplayPolicy extends AbsDisplayPolicy {
....
mSystemGestures = new SystemGesturesPointerEventListener(mContext, mHandler,
new SystemGesturesPointerEventListener.Callbacks() {
@Override
public void on