028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Android复习(五)设备兼容—>支持刘海屏-创新互联

支持刘海屏

刘海屏是指某些设备显示屏上的一个区域延伸到显示面,这样既能为用户提供全面屏体验,又能为设备正面的重要传感器留出空间。Android 在搭载 Android 9(API 级别 28)及更高版本的设备上正式支持刘海屏。请注意,设备制造商也可以选择在搭载 Android 8.1 或更低版本的设备上支持刘海屏。

创新互联公司是工信部颁发资质IDC服务器商,为用户提供优质的四川电信科技城机房服务

本主题介绍如何实现对带刘海屏的设备的支持,包括如何处理“刘海区域”,即显示面上包含刘海的无边框矩形。

在带刘海屏的设备上有什么要求

为了确保一致性和应用兼容性,搭载 Android 9 的设备必须确保以下刘海行为:

选择您的应用如何处理刘海区域

如果不希望您的内容与刘海区域重叠,请确保您的内容不与状态栏和导航栏重叠,这样做一般就足够了。如果您要将内容呈现到刘海区域中,则可以使用 WindowInsets.getDisplayCutout() 来检索 DisplayCutout 对象,该对象包含每个刘海区域的安全边衬区和边界框。您可以使用这些 API 来检查您的内容是否与刘海区域重叠,以便根据需要重新放置。

注意:要在多个 API 级别管理刘海实现,您还可以使用 AndroidX 库(可通过 SDK 管理器获得)中的 DisplayCutoutCompat。

Android 还允许您控制是否在刘海区域内显示内容。窗口布局属性 layoutInDisplayCutoutMode 控制您的内容如何呈现在刘海区域中。您可以将 layoutInDisplayCutoutMode 设为以下某个值:

您可以通过编程或在 Activity 中设置样式来设置刘海模式。以下示例定义了一种样式,您可以使用它将 LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES 属性应用到 Activity。

  
 

下面几部分更详细地介绍了不同的刘海模式。

默认行为

默认情况下,在未设置特殊标志的竖屏模式下,在带刘海屏的设备上,状态栏的大小会调整为至少与刘海一样高,而您的内容会显示在下方区域。在横屏模式或全屏模式下,您的应用窗口会显示黑边,因此您的任何内容都不会显示在刘海区域中。

将内容呈现在短边刘海区域中

对于某些内容(如视频、照片、地图和游戏),呈现在刘海区域中是一种很好的方法,这样能够为用户提供沉浸感更强的全面屏体验。如果设置了 LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES,则在竖屏模式和横屏模式下,内容都会延伸到显示屏的短边上的刘海区域,而不管系统栏处于隐藏还是可见状态。请注意,窗口无法延伸到屏幕的长边上的刘海区域。使用此模式时,请确保没有重要内容与刘海区域重叠。

请注意,Android 可能不允许内容视图与系统栏重叠。要替换此行为并强制内容延伸到刘海区域,请通过 View.setSystemUiVisibility(int) 方法将以下任一标志应用于视图可见性:

下面是一些 LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES 示例:

请注意,边角处的刘海可等同于在短边上,因此适用同样的行为:

从不将内容呈现在刘海区域中

如果设置了 LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER,则不允许窗口与刘海区域重叠。

此模式应该用于暂时设置 View.SYSTEM_UI_FLAG_FULLSCREEN 或 View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 的窗口,以避免在设置或清除了该标志时执行另一种窗口布局。

请查看下面的 LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER 示例:

特殊模式

某些搭载 Android 8.1(API 级别 27)或更低版本的设备支持一种特殊模式,可让用户将显示黑边的全屏或横屏应用延伸到刘海区域。此模式通常使用导航栏中的切换开关来控制,在延伸屏幕之前会显示一个对话框,要求用户进行确认。

支持刘海屏的最佳做法

使用刘海屏时,请务必考虑以下几点:

测试您的内容如何呈现

请务必测试应用的所有屏幕和体验。如有可能,在具有不同类型刘海屏的设备上进行测试。如果您没有带刘海屏的设备,可以在搭载 Android 9 的任意设备或模拟器上模拟一些常见的刘海配置,具体操作步骤如下:

  1. 启用开发者选项。
  2. 开发者选项屏幕中,向下滚动到绘制部分,然后选择模拟刘海屏。
  3. 选择刘海类型。

其他资源


分享名称:Android复习(五)设备兼容—>支持刘海屏-创新互联
路径分享:http://www.tsicrk.com/article/gepep.html

其他资讯

让你的专属顾问为你服务

1.9568s