Android 13 在 Android 12 和 12L 功能发布中引入的平板电脑优化基础上进行了改进,包括系统界面优化、更好的多任务处理和改进的兼容模式。在您的测试中,请确保您的应用在平板电脑和其他大屏幕设备上呈现最佳效果。
首先,在 Android Studio 中为 Android 模拟器设置虚拟设备,或者从我们的设备制造商合作伙伴处获取 Android 13 大屏幕设备。
如果您刚开始进行大屏幕开发,请查阅大屏幕和折叠屏设备指南,以了解在这些设备上构建出色体验的最新指导和技术。
以下是新功能概览以及一些关于在您的应用中进行测试的建议。
针对大屏幕优化的操作系统
现在,系统界面在大屏幕上更加美观且易于使用,包括通知、快速设置、锁屏、概览、主屏幕等。
在大屏幕上,通知栏通过新的两列布局显示快速设置和通知,充分利用了空间。锁屏界面也采用更大的两列布局来突出显示通知和时钟,并且设置等系统应用也得到了优化。

其他更改侧重于使大屏幕上的关键交互更加容易。例如,平板电脑上的锁屏图案和 PIN 码控制现在显示在屏幕侧面,以便于操作;用户只需轻触屏幕另一侧,即可将 PIN 码/图案控制移至该侧。
对于折叠屏设备,系统优化了主屏幕网格,并完善了折叠-展开过渡效果,使用户能够从单个外部屏幕无缝切换到更大的展开屏幕,从而增强了连续性,同时保留了他们的选择。
对于开发者:媒体投影中的变更
从 12L 开始,当虚拟显示器呈现在表面上时,虚拟显示器将使用类似于 ImageView
的 centerInside
选项的过程进行缩放以适应表面。
新的缩放方法通过最大化表面图像大小同时确保正确的宽高比,改进了向电视和其他大显示器的屏幕投射。
有关更多详细信息,请参阅大屏幕上的媒体投影。
强大直观的多任务处理
用户在使用平板电脑、Chromebook 和折叠屏设备的大屏幕时经常进行多任务处理。新的生产力功能使多任务处理变得更加强大和直观。
新的任务栏使快速启动和切换应用变得更容易。手势使任务栏的使用速度更快,通过拖放进入分屏模式,向上滑动返回主屏幕。在手势导航中,快速切换手势允许用户翻阅最近使用的应用。用户可以随时长按来显示或隐藏任务栏。
在分屏模式下运行应用是多任务处理的一种流行方式,分屏现在比以往任何时候都更容易发现和使用。用户现在可以直接从任务栏将他们喜欢的应用拖放到分屏中,或者他们也可以在概览中使用新的“拆分”操作,通过点击启动分屏模式。
为了给用户提供更一致的分屏体验,Android 12 及更高版本允许所有应用进入多窗口模式,无论它们是否可调整大小。
对于开发者:在分屏模式下测试您的应用
随着分屏模式变得更容易访问,以及 Android 12 中允许用户将所有应用启动到分屏模式的更改,我们强烈建议您在分屏模式下测试您的应用。
对于开发者:处理内嵌大小的动态变化
新的任务栏作为内嵌(Inset)报告给应用,即使尚未引入新的内嵌 API。
与手势导航一起使用时,任务栏可以动态隐藏和显示。如果您的应用已使用内嵌信息来绘制其 UI,则需要考虑应用处于恢复状态时内嵌大小可能发生变化的情况。在这种情况下,您的应用需要调用 setOnApplyWindowInsetsListener
并按照系统栏内嵌中的描述处理内嵌尺寸的变化。
许多应用已经针对大屏幕设备进行了优化,并通过响应式布局、多窗口模式支持、跨屏幕尺寸和设备姿态变化的连续性等提供出色的体验。
对于尚未优化的应用,系统对兼容模式进行了视觉和稳定性改进,以提供更好的用户体验,并使这些应用默认看起来更好。
兼容模式改进为未针对大屏幕优化的应用提供了更好的用户体验。

对于开发者:在兼容模式下检查您的应用
如果您的应用尚未优化以适应屏幕尺寸和设备姿态的变化,您的应用可能会在兼容模式下启动。我们建议您使用兼容模式测试您的应用,以确保您的应用外观和功能正常。
有关更多详细信息,请参阅增强型信箱模式。
改进的手掌误触抑制
大屏幕是手写笔输入的理想表面。但是当用户使用手写笔在您的应用中绘制、书写或交互时,他们有时会用手掌触碰屏幕。在系统识别并忽略该事件为意外手掌触碰之前,触控事件可能会报告给您的应用。
在 Android 13 (API level 33) 之前,系统通过分派带有 ACTION_CANCEL
的 MotionEvent
来取消手掌触控事件。Android 13 通过向运动事件对象添加 FLAG_CANCELED
来增强手掌误触识别。
如果手掌触碰是唯一的触控事件指针,系统通过在运动事件对象上设置 ACTION_CANCEL
和 FLAG_CANCELED
来取消该事件。如果有其他指针按下,Android 13 会设置 ACTION_POINTER_UP
和 FLAG_CANCELED
。
对于开发者:更新您的触控事件监听器和处理程序
在 Android 12 (API level 32) 及更低版本中,仅对单指针触控事件可能检测到手掌误触。如果手掌触碰是唯一的指针,系统通过在运动事件对象上设置 ACTION_CANCEL
来取消该事件。如果有其他指针按下,系统会设置 ACTION_POINTER_UP
,这不足以检测手掌误触。在这两种情况下,都不会设置 FLAG_CANCELED
。
对于 Android 13,请更新您的触控事件监听器和处理程序,以便在接收 ACTION_POINTER_UP
时检查 FLAG_CANCELED
,以确保检测和处理手掌误触及其他已取消的事件。
大屏幕的更多更新和资源
Google Play 在大屏幕上的变化
为了让人们更容易在平板电脑、折叠屏设备和 ChromeOS 设备上找到最佳应用体验,Google Play 引入了一些更改,以突出显示针对这些设备优化的应用。
增加了新的检查,根据我们的大屏幕应用质量指南评估每个应用的质量,以确保 Google Play 在这些设备上呈现最佳应用。当应用未针对大屏幕优化时,大屏幕用户现在会在应用的 Play 商店详情页面上看到通知,以帮助他们找到在其设备上效果最佳的应用。
Play 还将推出针对大屏幕的应用评分,正如2021 年 8 月首次宣布的那样,因此用户将能够评价您的应用在大屏幕设备上的表现。
使用 Jetpack WindowManager 进行 Activity 嵌入
Activity 嵌入允许您通过同时显示多个 Activity 来利用大屏幕的额外显示区域,例如列表-详细信息模式,并且它几乎不需要重构您的应用。您可以通过创建 XML 配置文件或进行 Jetpack WindowManager API 调用来确定您的应用如何显示其 Activity——并排或堆叠。系统会处理其余部分,根据您创建的配置确定显示方式。如果您的应用使用多个 Activity,我们建议您尝试 Activity 嵌入。要了解更多信息,请参阅Activity 嵌入。
设备方向请求
与标准手机不同,折叠屏设备和平板电脑经常在横向和纵向两种方向上使用。平板电脑通常以横向位置停靠,而折叠屏设备可以根据其折叠方式进行定向。
有些应用会请求固定为纵向或横向方向,并期望无论设备方向如何,都保持其首选方向(请参阅 screenOrientation
清单属性)。虽然这仍然受支持,但设备制造商可以选择覆盖应用对首选方向的请求。
在 Android 12 (API level 31) 及更高版本中,设备制造商可以配置单个设备屏幕(例如折叠屏设备的平板电脑尺寸屏幕),以忽略方向规范,并强制以纵向模式呈现的应用在横向显示器上 upright 但信箱模式。通过忽略该规范,Android 可以更好地满足开发者始终以固定宽高比呈现应用的意图,同时保持应用面向最佳可用性。
然而,为了获得最佳用户体验,请设计具有响应式布局的应用,使其在大于 600dp 的屏幕上,无论纵向还是横向方向,都能充分利用屏幕空间。
在大型屏幕合作伙伴设备上获取 Android 13
我们已与设备制造商合作伙伴合作,在大型屏幕设备上提供 Android 13 试用版。请访问以下网站查看符合条件的大型屏幕设备列表,并获取有关 Beta 版本可用性的详细信息。
联想
测试内容
在开始测试之前,请在 Android Studio 中为 Android 模拟器设置虚拟设备,或者从我们的设备制造商合作伙伴处获取 Android 13 大屏幕设备。完成设备设置后,您需要使用一些常见的大屏幕用例来测试您的应用,以确保您的应用按预期响应。以下是一些建议的领域,并附有相关资源的链接,可以帮助您优化应用以适应大屏幕:
资源
在开始测试之前,请在 Android Studio 中为 Android 模拟器设置虚拟设备,或者从我们的设备制造商合作伙伴处获取 Android 13 大屏幕设备。完成设备设置后,您需要使用一些常见的大屏幕用例来测试您的应用,以确保您的应用按预期响应。以下是一些建议的领域,并附有相关资源的链接,可以帮助您优化应用以适应大屏幕: | 屏幕尺寸、设备姿态和旋转 |
---|---|
检查您的应用在设备姿态变化(例如展开折叠屏设备或将折叠屏设备置于桌面模式)导致屏幕尺寸变化时的响应情况。此外,尝试在这些状态下旋转设备,以确保您的应用响应最佳。 文档 |
支持不同的显示尺寸 示例 使用 Jetpack WindowManager 支持折叠屏和双屏设备 为任何屏幕尺寸构建 Android UI |
检查您的应用在大屏幕上与任务栏一起查看时的响应情况。检查您的应用的 UI 是否未被任务栏截断或遮挡,尝试使用任务栏进入和退出分屏和多窗口模式,并测试使用任务栏在您的应用和其他应用之间快速切换。 如果您的应用具有固定方向且不可调整大小,请检查您的应用如何响应兼容模式调整,例如信箱模式。 多任务处理和生产力变更 |
支持不同的显示尺寸 示例 为任何屏幕尺寸构建 Android UI |
检查您的应用在大屏幕(sw >= 600dp)上以多窗口模式运行时如何响应,特别是当您的应用设置了 resizeableActivity="false" 时。如果您的应用设置了 如果您的应用使用 Display API,例如 Android 12 中多窗口模式的变更 |
支持不同的显示尺寸 示例 为任何屏幕尺寸构建 Android UI |
如果您的应用使用媒体投影,请检查您的应用在大屏幕设备上播放、流式传输或投射媒体时的响应情况。务必考虑折叠屏设备上的设备姿态变化。 大屏幕上的媒体投影 |
支持不同的显示尺寸 示例 为任何屏幕尺寸构建 Android UI |
对于相机应用,请检查您的应用在多窗口或分屏模式下被限制在屏幕的一部分时,相机预览 UI 在大屏幕上如何响应。还要检查您的应用在折叠屏设备姿态变化时如何响应。 Android 12 中相机预览的变更 |
支持不同的显示尺寸
|