- 启用开发者选项。
- 在 Developer options(开发者选项) 屏幕中,向下滚动至 Drawing(绘图) 部分并选择 Simulate a display with a cutout(模拟具有凹口的显示屏)。
- 选择凹口屏幕的大小。
注:我们建议您通过使用运行 Android P 的设备或模拟器测试凹口屏幕周围的内容显示。
2.2 Android P提供提供的刘海屏适配方案
- 对于有状态栏的页面,不会受到刘海屏特性的影响,因为刘海屏包含在状态栏中了;
- 全屏显示的页面,系统刘海屏方案会对应用界面做下移处理,避开刘海区显示,这时会看到刘海区域变成一条黑边,完全看不到刘海了;
- 已经适配Android P应用的全屏页面可以通过谷歌提供的适配方案使用刘海区,真正做到全屏显示。
2.3 Android P中支持的凹口屏幕类型
目前Android支持了三类凹口屏幕类型:边角显示屏凹口(斜刘海)、双显示屏凹口(刘海+胡子)、长型显示屏凹口(刘海),如下图所示:
目前的手机主要还是长型显示屏凹口,即刘海屏。其他斜刘海和胡子手机应该还没有实物吧?反正是亮瞎了狗眼了。
2.4 刘海屏布局及安全区域说明
2.5 Android P中凹口屏幕相关接口
注意,以下接口都是要Build.VERSION.SDK_INT >= 28
才能调用到。
2.5.1 DisplayCutout类接口
主要用于获取凹口位置和安全区域的位置等。主要接口如下所示:
方法 | 接口说明 |
---|---|
getBoundingRects() | 返回Rects的列表,每个Rects都是显示屏上非功能区域的边界矩形。 |
getSafeInsetLeft () | 返回安全区域距离屏幕左边的距离,单位是px。 |
getSafeInsetRight () | 返回安全区域距离屏幕右边的距离,单位是px。 |