12L 功能和变化

The 12L feature drop makes Android 12 even better on large
screens

12L 是一个特殊的特性更新,使 Android 12 在大屏幕上的体验更上一层楼。我们针对大屏幕优化和完善了系统 UI,使多任务处理更加强大和直观,并改进了对应用的兼容性支持,使其默认情况下看起来更好。我们还添加了一些开发者 API。

您可以通过下载12L 模拟器在合作伙伴设备上获取 12L来开始。

以下是新增内容。

针对大屏幕优化的操作系统

12L 完善了系统 UI,使其在大屏幕上(包括通知、快速设置、锁屏、概览、主屏幕等)更美观、更易于使用。

在大屏幕上,通知栏通过在新式两列布局中显示快速设置和通知来充分利用空间。锁屏也使用更大的两列布局来突出显示通知和时钟,系统应用(如设置)也进行了优化。

大屏幕布局在两列布局中显示更多内容。

我们还专注于简化大屏幕上的关键交互。例如,平板电脑上的锁屏图案和 PIN 码控件现在显示在屏幕侧面,以便更容易触及,用户只需轻触屏幕另一侧即可将 PIN/图案控件移至该侧。

对于折叠屏手机,我们优化了主屏幕网格并完善了折叠-展开过渡,以便用户可以从单个外部屏幕无缝切换到更大的展开屏幕,从而增强连续性,同时保留他们的选择。

针对开发者:媒体投射的更改

从 12L 开始,当虚拟显示在曲面上渲染时,虚拟显示将使用类似于centerInside选项的ImageView的过程进行缩放以适应曲面。

新的缩放方法通过最大化曲面图像的大小同时确保正确的纵横比,从而改善了向电视和其他大显示器的屏幕投射。

更多详细信息,请参阅大屏幕上的媒体投射

强大且直观的多任务处理

用户在使用平板电脑、Chromebook 和折叠屏手机等大屏幕设备时,经常会进行多任务处理。在 12L 中,新的生产力功能使多任务处理更加强大和直观。

12L 添加了一个新的任务栏,使即时启动和切换应用更加轻松。手势使使用任务栏的速度更快,可以通过拖放进入分屏模式,向上滑动即可返回主屏幕。在手势导航中,快速切换手势允许用户在最近的应用之间切换。用户可以随时通过长按显示或隐藏任务栏。

任务栏允许用户更快地启动和切换应用,拖放进入分屏模式,向上滑动返回主屏幕。

在分屏模式下运行应用是多任务处理的一种常用方法,在 12L 中,我们使分屏比以往更容易发现和使用。用户现在可以直接从任务栏将他们喜欢的应用拖放到分屏中,或者他们也可以在概览中使用新的“分屏”操作,只需轻触即可启动分屏模式。

为了使分屏对用户来说更一致的体验,Android 12 及更高版本允许所有应用进入多窗口模式,无论它们是否可调整大小。

针对开发者:在分屏模式下测试您的应用

随着分屏模式变得更容易访问,以及 Android 12 中允许用户将所有应用启动到分屏的更改,我们强烈建议您在分屏模式下测试您的应用。

针对开发者:处理内嵌尺寸的动态变化

即使 12L 没有引入新的内嵌 API,新的任务栏也会向应用报告为内嵌。

与手势导航一起使用时,任务栏可以动态显示和隐藏。如果您的应用已经使用内嵌信息来绘制其 UI,则需要考虑应用处于恢复状态时内嵌大小可能会改变的可能性。在这种情况下,您的应用需要调用setOnApplyWindowInsetsListener并根据系统栏内嵌中所述处理内嵌尺寸的变化。

改进的兼容性体验

许多应用已针对大屏幕设备进行了优化,并通过响应式布局、多窗口模式支持、跨屏幕尺寸和设备姿态变化的连续性等提供出色的体验。

对于尚未优化的应用,我们对兼容模式进行了视觉和稳定性改进,为用户提供更好的体验,并使这些应用默认情况下看起来更好。

兼容模式改进为未针对大屏幕优化的应用提供了更好的用户体验。

我们通过使许多选项可以通过叠加配置由设备制造商自定义来改进黑边 UI。例如,设备制造商现在可以配置应用纵横比、为应用窗口应用圆角以及设置状态栏透明度。

面向开发者:在兼容模式下检查您的应用

如果您的应用尚未针对屏幕尺寸和设备姿态变化进行优化,则您的应用可能会在兼容模式下启动。我们建议您使用 12L 兼容模式测试您的应用,以确保您的应用外观和功能正常。

更多详情,请参见 设备兼容模式

更多大屏幕更新和资源

Google Play在大屏幕上的变化

为了方便用户在平板电脑、折叠屏手机和 ChromeOS 设备上找到最佳的应用体验,Google Play 进行了更改,以突出显示针对其设备优化的应用。

添加了新的检查,以根据我们的 大屏幕应用质量指南评估每个应用的质量,以确保我们在这些设备上提供尽可能好的应用。当应用未针对大屏幕进行优化时,大屏幕用户现在会在应用的 Play 商店列表页面上看到通知,以帮助他们找到最适合其设备的应用。

正如 2021 年 8 月宣布的那样,Play 还推出了特定于大屏幕的应用评分,因此用户可以评价您的应用在其大屏幕设备上的运行情况。

使用 Jetpack WindowManager 进行活动嵌入

活动嵌入允许您通过一次显示多个活动来利用大屏幕的额外显示区域(例如,用于列表-详情模式),并且几乎不需要或根本不需要重构您的应用。您可以通过创建 XML 配置文件或进行 Jetpack WindowManager API 调用来确定您的应用如何显示其活动——并排或堆叠。系统会处理其余部分,根据您创建的配置确定呈现方式。如果您的应用使用多个活动,我们建议您尝试使用活动嵌入。要了解更多信息,请参见 活动嵌入

设备方向请求

与标准手机不同,折叠屏手机和平板电脑经常在横向和纵向方向上使用。平板电脑通常以横向方式停靠,而折叠屏手机可以根据其折叠方式进行方向调整。

某些应用请求纵向或横向的固定方向,并期望无论设备的方向如何都保持其首选方向(请参阅 screenOrientation 清单属性)。虽然 12L 中仍然支持此功能,但设备制造商可以选择覆盖应用对首选方向的请求。

在 Android 12(API 级别 31)及更高版本中,设备制造商可以配置单个设备屏幕(例如折叠屏手机的平板电脑尺寸屏幕)以忽略方向规范,并强制以纵向模式呈现的应用以直立方式显示,但在横向显示屏上显示黑边。通过忽略规范,Android 可以更好地满足开发者始终以固定纵横比呈现应用的意图,同时保持应用方向以获得最佳可用性。

但是,为了获得最佳用户体验,请使用响应式布局设计您的应用,以便在屏幕尺寸大于 600dp 的横向和纵向方向上充分利用可用屏幕空间。

准备您的应用

随着 12L 功能更新逐渐应用到越来越多的大家屏幕设备,现在是时候测试您的应用并对其进行大屏幕优化了。

您可以通过 设置 12L 模拟器 或通过 在合作伙伴设备上获取 12L 开始。您将能够看到最新的大家屏幕系统 UI 更改,使用任务栏和分屏模式尝试您的应用,在兼容模式下测试您的应用,甚至尝试使用 Jetpack WindowManager API 进行活动嵌入。

使用新的可调整大小的 Android 模拟器设备定义来测试各种大屏幕场景下的 12L。

如果您刚开始使用大屏幕开发,请查看 大屏幕和折叠屏手机 指南,阅读有关在这些设备上构建出色体验的最新指南和技术。

测试内容

为 12L 创建虚拟设备 后,您需要使用一些常见的大屏幕用例测试您的应用,以确保您的应用按预期响应。以下是一些推荐的领域,以及相关资源链接,这些资源可以帮助您优化应用以适应大屏幕。

测试内容 资源
屏幕尺寸、设备姿态和旋转

检查您的应用在屏幕尺寸因设备姿态变化而变化时(例如,展开折叠式设备或将折叠式设备置于桌面模式)的响应方式。还尝试在每种状态下旋转设备,以确保您的应用以最佳方式响应。

文档 示例 Codelabs 技术演讲
任务栏交互和分屏模式

检查您的应用在大屏幕上显示任务栏时的响应方式。检查您的应用 UI 是否未被任务栏切断或阻止,尝试使用任务栏进入和退出分屏和多窗口模式,并测试使用任务栏在您的应用和其他应用之间快速切换。

如果您的应用具有固定方向且不可调整大小,请检查您的应用对兼容模式调整(例如黑边)的响应方式。

文档 示例 技术演讲
多窗口模式

检查您的应用在大屏幕(sw >= 600dp)上以多窗口模式运行时的响应方式,尤其是在您的应用设置 resizeableActivity="false" 的情况下。

如果您的应用设置 resizeableActivity="true",还请务必检查您的应用在小屏幕(sw < 600dp)上以多窗口模式运行时的响应方式。

如果您的应用使用 Display API(例如 Display.getRealSize()Display.getRealMetrics()),请改用 Jetpack WindowManager 库中的 WindowMetrics API。

文档 示例 技术演讲
媒体投射

如果您的应用使用媒体投射,请检查您的应用在大屏幕设备上播放、流式传输或投射媒体时的响应方式。请务必考虑折叠式设备的设备姿态变化。

文档 示例 技术演讲
摄像头预览

对于摄像头应用,请检查您的摄像头预览 UI 在您的应用在多窗口或分屏模式下受限于屏幕的一部分时在大屏幕上的响应方式。还请检查您的应用在折叠式设备的姿态发生变化时的响应方式。

文档