作者: Leo Sei, Android 产品经理
我们在 11 月初举办了 Android 开发者峰会,并在会上宣布 Android 将对折叠屏设备 (Foldable) 提供原生支持,帮助开发者为三星等硬件合作伙伴即将推出的新设备做好准备。
建议您仔细阅读以下信息,确保您的应用能够在这种新式屏幕上提供出色的用户体验 (亦或收看 Android 开发者峰会上有关折叠屏设备的专题分享)。
三星:
https://news.samsung.com/us/sdc-2018-samsung-mobile-ux-one-ui-infinity-flex-display-bixby-smartthings-platform
专题分享:
https://youtu.be/UwEyK5WATFA
1. 屏幕连续性
在可折叠设备上,您的应用需要从一个屏幕自动切换到另一个屏幕上 (例如,在用户折叠或展开折叠屏设备时)。在过渡期间,系统就会向应用发送新布局的配置更改 (部分情况下,屏幕密度也可能会改变)。为避免用户体验因应用切换屏幕而受到影响,请您确保应用能够妥善处理运行时配置变更。
测试方法: 多款设备的模拟器马上就会与各位开发者见面 (比如,三星将在第四季度发布一款能够模拟设备折叠/展开状态的 APK。您可在三星 Galaxy S4 平板和 Android Studio 的 AOSP 模拟器上体验该 APK)。
运行时配置变更:
https://developer.android.google.cn/guide/topics/resources/runtime-changes
2. Multi-resume
目前,Android 系统允许多个应用同时共享屏幕,但是其中只有具有焦点的应用才处于已恢复 (resumed) 状态,其余应用均处于 onPause 状态。
虽然我们在《多窗口支持》一文中已经提供了同屏多应用的实现方法,但是我们发现很多应用并没有按照这些方法来处理 onPause 状态 (视频暂停或停止,即时消息未被显示等)。
多窗口支持:
https://developer.android.google.cn/guide/topics/ui/multi-window
为了让开发者能够以最小的工作量实现最佳的多窗口体验,从 Android 9 开始,我们允许设备厂商在多窗口模式下保持所有可见应用处于 resumed 状态。
如果您想在 Android 9 中启用此行为,请在应用清单中加入以下元数据:
请注意: 我们将在下个版本的 Android 系统中,优化该行为的兼容性。
测试方法: 目前还没有任何设备支持该应用行为,不过厂商正在努力升级现有设备,让开发者能够尽早进行测试。请您耐心等待,并继续关注设备厂商公布的最相关消息。
3. 多显示屏支持
从 Android 8.0 开始,平台为多显示屏提供了增强支持。如果 Activity 支持多窗口模式,并且在具有多个显示屏的设备上运行,用户便可以将 Activity 从一个显示屏移动到另一个显示屏上。当应用启动 Activity 时,此应用可指定 Activity 应在哪个显示屏上运行。
如需了解详情,请阅读完整版文档。
完整版文档:
https://developer.android.google.cn/about/versions/oreo/android-8.0#mds
测试方法: 请点击 “开发者选项 > 模拟辅助显示设备”, 进行测试。不过请注意,模拟屏无法处理输入。
点击屏末 | 阅读原文 | 下载 "Android 9 Pie 开发者手册"
推荐阅读