收藏
回答

小程序如何识别是不是刘海屏?

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 Bug 客户端 6.7.3 2.6

使用了navigationStyle为custom设置屏幕为自定义导航条,现在有一个问题,如何识别此设备是不是刘海屏,因为需要针对刘海屏做特殊?


- 预期表现

希望通过getSystemInfo接口能够拿到是不是刘海屏,已经刘海屏的尺寸


最后一次编辑于  2018-12-14  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    2018-12-14

    = =我只做了x的 安卓的 没做。。

    2018-12-14
    赞同
    回复 9
    • 没有什么能永垂不朽丶
      没有什么能永垂不朽丶
      2018-12-14

      感谢,iphoneX的我做了适配,但是现在功能需求是将所有的刘海屏做适配显示,不仅仅只是iphonex+设备。还包括所有的android刘海设备。

      2018-12-14
      回复
    • 仙森ღ₅₂₀¹³¹⁴
      仙森ღ₅₂₀¹³¹⁴
      2018-12-14回复没有什么能永垂不朽丶

      官方没提供相应方法。。。

      2018-12-14
      回复
    • Stephen
      Stephen
      2018-12-14

      正常来讲 ios下和安卓下胶囊按钮的大小是一样的  胶囊按钮距离屏幕右边距离和statusBar上边距离都是一样的


      下面是我测试出来的数据


      iOS 真机:


          top 4px

          right 7px

          width 87px

          height 32px


      iOS 模拟器:


          top 6px

          right 10px

          width 87px

          height 32px


      安卓 真机:


          top 8px

          right 10px

          width 95px

          height 32px


      安卓 模拟器:


          top 8px

          right 10px

          width 87px

          height 32px


      可以根据这个计算 titleBar 的信息 千万别用 wx.getMenuButtonBoundingClientRect() 大bug


      2018-12-14
      3
      回复
    • Stephen
      Stephen
      2018-12-14回复Stephen

      附送适配截图





      2018-12-14
      2
      回复
    • spring
      spring
      2018-12-14

      其实现在很简单了。。。这两天我做了一下安卓的适配,这里主要是关注点有2个值 一个是statusBarHeight,当statusBarHeight大于44时则可以认为是刘海屏。另一个是胶囊高度,在安卓端胶囊48px,ios端44px。这样就可以计算出导航栏高度了,把导航栏做成组件可以在所有页面使用了。

      2018-12-14
      1
      回复
    查看更多(4)