屏幕适配-刘海屏适配

2019-12-15  本文已影响0人  佼佼者Mr

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的显示区域。

透明状态栏
上一篇下一篇

猜你喜欢

热点阅读