在窗口内嵌套中布局您的应用

尝试 Compose 方法
Jetpack Compose 是 Android 推荐的 UI 工具包。了解如何在 Compose 中使用 WindowInsets。

图 1. 状态栏和导航栏,统称为系统栏

布局所有应用,以便您的内容从屏幕的顶部边缘延伸到底部边缘。这是从 Android 15(API 级别 35)开始的默认行为。这意味着您的应用的顶部和底部区域布局在状态栏和导航栏的后面。状态栏和导航栏统称为系统栏。系统栏通常用于显示通知、传达设备状态和设备导航。

您的应用与系统 UI 显示区域之间的重叠是窗口内嵌套的一个示例,它表示您的应用可以与系统 UI 相交的屏幕部分。与这些 UI 部分相交可能意味着在内容上方显示,但它还可以通知您的应用有关系统手势的信息。

以下类型的窗口内嵌套可用。

  • 默认情况下,选择加入扩展您的应用窗口以跨越整个屏幕并在系统栏后面绘制应用内容边缘到边缘。使用偏移量避免在系统栏后面显示重要内容和触摸目标。

  • 显示电影或图像等内容的应用可以暂时隐藏系统栏以获得更沉浸式的体验。在修改系统栏之前,请仔细考虑用户的需求和期望,因为它们为用户提供了一种标准的方式来导航设备并查看其状态。

  • 显示切口是某些设备上的一个区域,该区域延伸到显示表面,为设备正面的传感器提供空间。应用可以通过查询其位置来支持显示切口,以确保没有重要内容与切口区域重叠。

  • 键盘转换是一个窗口内嵌套动态更新的常见示例。应用可以观察当前的键盘状态,以编程方式切换状态,支持窗口内嵌套的动画,并使应用内容在键盘转换之间无缝动画。