Android 开发者 04月05日 21:21
自适应的未来:Android 16 中对屏幕方向和可调整大小 API 的更改
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Android 16 计划取消应用对屏幕方向和大小调整的限制,转向统一的自适应应用模式,以更好地适应多设备生态。此举旨在提升用户体验,减少碎片化。开发者需要确保应用支持横向和纵向布局,并处理好界面组件拉伸、相机兼容性和窗口大小变化时的状态保持等问题。新规将于2025年起在大屏设备上生效,并逐步扩大适用范围,开发者需提前做好准备。

📱 Android 16 将取消应用对屏幕方向和大小调整的限制,采用自适应应用模式,应用将能无缝适应不同屏幕尺寸和方向,提升用户体验,减少碎片化。

📏 这一变更最初将应用于最小宽度大于等于 600dp 的大屏设备,包括可折叠设备和平板电脑。游戏应用和用户自定义的宽高比设置将有例外。

🔄 开发者需要确保应用支持横向和纵向布局,并处理界面组件拉伸、相机预览兼容性以及窗口大小变化时的状态保持等问题,以适应不同设备和窗口模式。

📅 Android 16 变更将从 2025 年开始生效,以 API 级别 36 为目标的应用在大屏设备上将默认应用此变更。2026 年,以 API 级别 37 为目标的应用将强制执行此变更,开发者需要提前做好准备。

原创 Android 2025-03-24 17:31 北京

为了适应多设备时代,Android 16 将在平台层面取消应用限制屏幕方向和大小调整的能力,转而采用一种统一的自适应应用模式,使应用能无缝适应不同的屏幕大小和方向,为用户提供更为流畅的体验。

作者 / 产品管理总监 Maru Ahues Bouza


全球范围内有超过 30 亿台 Android 设备正在使用中,这使得 Android 生态系统比以往任何时候都更加活跃。Android 移动应用能够在手机、可折叠设备、平板电脑、Chromebook、汽车以及最新的 XR 设备等多种设备上运行。用户选择的是一个完整的设备生态系统,并期望他们的应用能够在所有设备上运行。您的应用需要无缝地适应不同的屏幕大小和设备形态,以在这个多设备环境中蓬勃发展。


许多 Android 应用依赖于在单一屏幕方向和/或限制了大小调整的情况下工作的界面方法。然而,用户希望应用能够充分利用大屏优势,因此 Android 设备制造商引入了备受好评的功能,以突破这些应用的限制。


鉴于此,Android 16 将在平台层面取消应用限制屏幕方向和大小调整的能力,转而采用一种统一的自适应应用模式,使应用能无缝适应不同的屏幕大小和方向。通过这一变更,应用的行为将更好地满足用户的期望,从而减少碎片化现象。同时,通过尊重用户对屏幕方向的偏好设置,提升应用的无障碍性。我们正在构建相关工具、库和平台 API,以帮助您实现这一点,从而在整个 Android 生态系统中提供始终如一的卓越用户体验。



有哪些变更?



从 Android 16 开始,我们将逐步淘汰用于限制应用屏幕方向和大小调整的清单属性及运行时 API,从而在各种设备上为众多应用带来更好的用户体验。


这些变更最初将适用于应用在大屏设备上运行时,其中 "大屏" 指的是显示区域的最小宽度大于或等于 600dp 的情况。这包括:


以下清单属性和 API 将在以 Android 16 (SDK 36) 为目标的大屏设备应用中被忽略:

清单属性/API忽略的值

screenOrientation

portrait、reversePortrait、sensorPortrait、userPortrait、landscape、reverseLandscape、sensorLandscape、userLandscape

setRequestedOrientation()

portrait、reversePortrait、sensorPortrait、userPortrait、landscape、reverseLandscape、sensorLandscape、userLandscape

resizeableActivity

所有

minAspectRatio

所有

maxAspectRatio

所有


在屏幕方向控制、宽高比和大小调整方面,这些变更有一些例外情况:


此外,用户拥有控制权。他们可以在宽高比设置中明确选择使用应用的默认行为。

△ 以 API 级别 36 为目标的应用,以前在大屏设备上以信箱模式 (letterboxed) 显示,现将在 Android 16 上以横向模式填充整个显示屏


让应用具备自适应性,
为即将到来的变更做好准备



应用需要支持横向和纵向布局,以适应用户可以选择的各种宽高比的窗口大小。因为将没有办法限制宽高比和屏幕方向仅为纵向或横向。

要测试您的应用是否会受这些变更影响,可以在 Android Studio 中使用搭载 Pixel Tablet 和 Pixel Fold 系列模拟器的 Android 16 Beta 1 开发者预览版,并设置 targetSdkPreview = "Baklava" 或通过启用 UNIVERSAL_RESIZABLE_BY_DEFAULT 标志来使用应用兼容性框架。

对于那些限制屏幕方向和宽高比的现有应用,这些变更可能导致布局重叠等问题。为了解决这些问题并满足用户期望,我们的愿景是使应用具备自适应性,以确保无论用户是在手机、可折叠设备、平板电脑、Chromebook、XR 设备还是在车内使用应用时,都能获得最佳体验。


解决常见问题



为了适应不同的窗口大小和宽高比,应使用窗口大小类来驱动布局行为,这种方式不需要针对特定设备进行自定义。在构建应用时,还应假设窗口大小会频繁变化。没有必要为不同的屏幕方向构建重复的特定布局,而是应确保现有界面在任何窗口大小下都能顺利地重新布局。如果您有专门针对横向或纵向设计的布局,那么这些布局仍然会被使用。


通过构建自适应性来优化窗口大小


如果您已经在构建自适应布局并支持所有屏幕方向,那么您就已经为成功做好了准备,因为您的应用将能够适应用户希望使用的各种设备类型和窗口模式。这些变更对您应用的影响会很小。


我们还提供了一系列测试资源,帮助您保证应用的可靠性。您可以使用 Espresso 测试框架和 Jetpack Compose 测试 API 等工具进行自动化测试。


时间表


我们理解,这些变更对于长期以来只支持纵向显示的应用来说意义重大。此类应用可能需要调整界面问题,例如按钮超出屏幕、内容重叠或屏幕带有相机取景器等。


为了帮助您提前规划并做出必要的调整,以下是这些变更的生效时间表:

目标 API 级别

适用设备

开发者是否能选择不接受

36
(Android 16)
大屏设备 (最小屏幕宽度 > 600dp)

37

(预计)

大屏设备 (最小屏幕宽度 > 600dp)



针对特定 API 级别的截止日期取决于具体的应用商店。对于 Google Play,我们计划在 2026 年 8 月前应用需以 API 级别 36 为目标,在 2027 年 8 月前应用需以 API 级别 37 为目标。



为 Android 16 做好准备



欢迎您参阅 Android 16 变更页面,了解所有影响 Android 16 应用的变更,以及在您的应用受到影响时,更新应用所需的其他资源。要测试您的应用,请下载 Android 16 Beta 1 开发者预览版,并更新至 targetSdkPreview = "Baklava",或者使用应用兼容性框架以启用特定变更。


我们致力于帮助开发者拥抱自适应应用的新时代,在多样化的 Android 生态系统中释放其应用的全部潜力。欢迎您查看在多种窗口大小和设备类型下设计和构建应用的注意事项,以及如何在各种设备上测试您的应用。


随着 Android 16 发布日期的临近,欢迎您持续关注更多更新和资源!也欢迎您关注 "Android 开发者" 微信公众号,及时了解更多开发技术和产品更新等资讯动态!





阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Android 16 自适应应用 多设备 开发者
相关文章