在窗口边衬区内布置应用

试用 Compose 方式
Jetpack Compose 是推荐用于 Android 的界面工具包。了解如何在 Compose 中使用 WindowInsets。

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

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

应用与显示系统界面的区域之间的重叠就是窗口边衬区的一个示例,它表示屏幕中应用可以与系统界面相交的部分。与界面的这些部分相交可能意味着要在内容上方显示,但也可以告知应用有关系统手势的信息。

可以使用以下类型的窗口边衬区。

  • 默认情况下,您可以选择展开应用窗口以延伸整个屏幕,并在系统栏后全屏绘制应用内容。使用偏移可避免在系统栏后面显示重要内容和触摸目标。

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

  • 刘海屏是某些设备上的一个区域,它延伸至显示屏表面,以便为设备前面的传感器提供空间。应用可以通过查询刘海屏的位置来支持刘海屏,以免任何重要内容与刘海屏区域重叠。

  • 键盘过渡就是一个常见的示例,其中窗口边衬区会动态更新。应用可以观察当前的键盘状态,以编程方式切换状态,支持窗口边衬区的动画,以及让应用内容在键盘过渡之间无缝添加动画效果。