美文网首页
屏幕适配-刘海屏适配

屏幕适配-刘海屏适配

作者: 佼佼者Mr | 来源:发表于2019-12-15 23:42 被阅读0次

    Android官方9.0刘海屏适配策略

    1.如果非全屏模式(有状态栏),则app不受刘海屏影响,刘海屏的高度就是状态栏的高度。

    2.如果全屏模式,app未适配刘海屏,系统会对界面做特殊处理,竖屏向下移动,横屏向右移动。

    三种刘海屏

    Android原生系统中三种刘海屏样式,图中是第一种,这种模式市场上基本没有采用这种刘海屏。

    市场主流刘海屏模式

    目前市场上绝大多数是采用这个“长型显示屏凹口”,这种模式有个特征,刘海屏的高度即为状态栏的高度,那为什么绝大多数都是这种刘海屏,我却没见过呢,因为各个厂商已经自己定制修改了显示样式。

    第一种情况的显示实例

    非全屏模式下,app不受状态栏的影响。

    全屏模式下为适配状态栏显示效果

    当设置全屏后,未适配刘海屏的话,系统将会默认将内容区域向下移动,要想取消这块黑边,我们就需要对刘海屏进行适配。

    第一步:要将内容区域延申至顶层区域

    内容区域的父容器变灰

    顶部区域共有三种模式 params.layoutInDisplayCutoutMode=

    1.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT;            默认模式,就是上面第一次未设置时的显示样式

    2.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES   允许将内容区域延伸至刘海屏区域

    3.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER                 不允许将内容区域延伸至刘海屏区域

    采用第二种模式的话,内容想要全屏展示,还需要沉浸式模式

    沉浸式全屏

    将内容区域延伸至刘海屏和底部导航区域

    注意事项

    1.将内容延伸至刘海屏之前,先判断当前手机是否有刘海屏

    判断当前手机受否有刘海屏方法

    还有一种我最喜欢的方式,透明状态栏,将内容添加到状态栏,然后将状态栏设置为透明,增加app的显示区域。

    透明状态栏

    相关文章

      网友评论

          本文标题:屏幕适配-刘海屏适配

          本文链接:https://www.haomeiwen.com/subject/xcfxyctx.html