Android 12.0 app全屏时通过系统属性控制上滑是否显示虚拟导航栏和状态栏

1.前言


  在12.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全屏时通过系统属性控制上滑是否显示虚拟导航栏和状态栏的核心功能分析和实现
3.1 InsetsControlTarget.java是否显示导航栏和状态栏的相关方法分析

    /**
       * @return The requested visibility of this target.
       */
      default boolean getRequestedVisibility(@InternalInsetsType int type) {
          return InsetsState.getDefaultVisibility(type);
      }
  
      /**
       * Instructs the control target to show inset sources.
       *
       * @param types to specify which types of insets sourc
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安卓兼职framework应用工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值