在窗口边衬区内布置应用

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

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

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

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

提供以下类型的窗口内边距。

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

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

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

  • 键盘转换是窗口内边距动态更新的一个常见示例。应用可以观察当前的键盘状态,以程序化方式切换状态,支持窗口边衬区的动画效果,并使应用内容在键盘转换之间无缝地呈现动画效果。