Google 致力于为黑人社区推动种族平等。查看具体举措

窗口管理器

Window Manager 旨在帮助应用开发者为新的设备类型提供支持,并为新旧版本平台上的不同 Window Manager 功能提供通用的 API 接口。初始版本以可折叠设备为目标,未来版本将扩展到更多屏幕类型和窗口功能。
最近更新时间 当前稳定版 下一候选版本 Beta 版 Alpha 版
2021 年 3 月 24 日 - - - 1.0.0-alpha05

声明依赖项

如需添加 Window Manager 的依赖项,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请阅读 Google 的 Maven 代码库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

dependencies {
    implementation "androidx.window:window:1.0.0-alpha05"
}

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对库的改进有某些建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

版本 1.0.0

版本 1.0.0-alpha05

2021 年 3 月 24 日

发布了 androidx.window:window:1.0.0-alpha05版本 1.0.0-alpha05 中包含这些提交内容。

新功能

我们为 FoldingFeature 添加了一些便捷方法,以便应用能够判断相应功能是否处于分离状态、遮蔽状态,以及确定合页的朝向。我们还将隐藏合页类型,以便

我们从 WindowManager 中移除同步读取方法。因存在隐式竞态条件,同步读取方法容易出错。注册监听器和回调,以在 WindowLayoutInfo 上接收更新。

API 变更

  • 添加了可与 FoldingFeature 搭配使用的便捷方法 (Ie733f)
  • 从 WindowManager 中移除了同步读取方法 (I96fd4)

版本 1.0.0-alpha04

2021 年 3 月 10 日

发布了 androidx.window:window:1.0.0-alpha04版本 1.0.0-alpha04 中包含这些提交内容

新功能

  • 修复了在没有 OEM 实现的情况下不发出 WindowLayoutInfo 的错误。现在我们会发出一个空的 WIndodoLayoutInfo。
  • 修复了因铰链状态在应用处于后台运行时发生更改而导致系统无法正确更新状态的错误。现在状态将会保持一致。
  • 更新了 proguard 文件,以忽略运行时依赖项发出的警告。

问题修复

  • 当缺少 OEM 库时,发出一个空值。(Ide935)

版本 1.0.0-alpha03

2021 年 2 月 18 日

发布了 androidx.window:window:1.0.0-alpha03版本 1.0.0-alpha03 中包含这些提交内容

新功能

  • 当 OEM 实现为空时,针对 WindowLayoutInfo 发出一个空值。这样可以更轻松地在更多设备上使用此库。由于这些 API 是异步的,因此我们仍建议应用编写一些防御性代码,并在超时后发出默认值。我们对 OEM 实现不作任何保证,并且初始值也可能会出现延迟。

问题修复

  • 当缺少 OEM 库时,发出一个空值。(Ide935)

版本 1.0.0-alpha02

2021 年 1 月 27 日

发布了 androidx.window:window:1.0.0-alpha02版本 1.0.0-alpha02 中包含这些提交内容

新功能

  • 我们弃用了一些 API,以帮助简化 API 并减少错误。一些值得注意的示例包括从 WindowManager 中移除同步读取操作,以及弃用 DeviceState。同步读取操作可能会导致出现竞态条件并且界面错误。

  • 我们已将 DisplayFeature 转换为一个今后将实现其他功能的接口。我们的第一个功能是 FoldingFeature,现在是屏幕折叠或合页的表示形式。该部分还包含取代 DeviceState 的合页的状态。

  • Android 11 中引入了 WindowMetrics,可让开发者轻松查询与窗口相关的指标,例如,窗口的位置和大小,以及任何系统边衬区。我们在此版本中向后移植了 API,以便开发者能够利用 WindowMetrics,并继续支持旧版 Android。可以通过 WindowManager#getCurrentWindowMetrics() 和 WindowManager#getMaximumWindowMetrics() API 获取 WindowMetrics。

API 变更

  • 弃用将在下一个 Alpha 版中移除的 API (Ib7cc4)
  • 更新 ExtensionInterface 以接受显式 Activity 引用。(I07ded)
  • 引入 WindowMetrics API。(I3ccee)
  • 从 WindowManager 中移除同步读取方法 (I69983)
  • 保护 ExtensionWindowBackend 软件包。(Ied208)

问题修复

  • 更新 ExtensionInterface API 以接受视觉上下文。(I8e827)

外部贡献

  • 合并 DeviceState 和 WindowLayoutInfo,以便更轻松地访问数据。(Id34f4)

版本 1.0.0-alpha01

2020 年 2 月 27 日

发布了 androidx.window:window:1.0.0-alpha01androidx.window:window-extensions:1.0.0-alpha01版本 1.0.0-alpha01 中包含这些提交内容 这是 Window Manager 库的第一个版本。

新功能

  • DisplayFeature:这一新的 API 可识别一整块屏幕平面上的中断处,如合页或折叠线
  • DeviceState:这一新的 API 可根据定义的折叠状态(例如 CLOSEDOPENEDHALF_OPENED 等)列表,提供手机当前的折叠状态