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

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

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

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

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

提供以下类型的窗口内嵌。

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

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

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

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