为长屏幕设备做好准备

作者: 谷歌开发者 | 来源:发表于2017-12-05 11:02 被阅读535次

作者  Android 开发者平台 Fred Chung

最近几个月发布的 Android 手机型号,全面屏,特长纵横比(16:9 以上)和圆角的设计都已成为了一种潮流(如 Pixel 2 XL 和华为 Mate 10 Pro),这也再次证明了Android 生态里用户选择空间的丰富。更大纵横比的屏幕可以带给用户强烈的沉浸感,但与此同时那些还没有经过优化的应用也就会更容易被用户感知到,这甚至会带来一些负面的体验,从而影响用户对开发者的满意度。因此大家千万不要忽略多尺寸屏幕优化的重要性。我们综合了一些应用兼容性测试的经验,和大家分享 Android OS 相关的支持和最佳实践。

支持特长屏幕

大部分利用标准 UI 模块的 App 都会灵活适配不同的屏幕。官方文档对这方面也作出了详细的解释。但是,开发者可能要花多一点心思去适配很多游戏或 App 里的自定义界面。其中一个比较普遍的问题是对于屏幕纵横比作出错误的假设。以下列出几项比较典型的问题,以作参考。

    1.屏幕的上下、左右边缘可能会被裁剪,导致 UI 整体看起来不完整。

    2.触摸点击区和 UI 模块(如:按钮)不对齐,从而困惑用户。

    3.在圆角屏幕设备上的全屏模式,任何非常靠近角落的 UI 元素都可能位于弯曲的可视角度区域之外。假设一个电商 App 的“下单”功能受到类似问题的影响,这就是一个大问题了。建议大家参考 Material Design 指南,在布局上留下大概 16dp 的边缘空间。

如果响应式 UI 不适合您的场景,作为最后一步,考虑按照以下方式声明最大支持纵横比。 在特长屏幕的设备上,兼容模式会将应用边缘的显示空间以填充。

针对 API level 26 或以上: 利用 android:maxAspectRatio 属性。

针对 API level 25 或以下: 利用 android.max_aspect meta-data。

需要注意的一点是最大支持纵横比的值只对不支持 resizableActivity 的 Activity 才有效。

请参阅文档的细节:

https://developer.android.google.cn/guide/practices/screens_support.html#MaxAspectRatio

多应用窗口显示

特长屏幕设备为多窗口显示的场景提供了更多的可能性,这往往可以提高用户的生产力。Android 7.0 以上的版本更为开发者提供了多窗口的标准支持。

当加载 Activity 时,可以利用新的 FLAG_ACTIVITY_LAUNCH_ADJACENT Intent Flag 来告知系统提供多窗口支持。需要注意的一点,是在活跃屏幕那一边的 Activity 才被认为是处于 Activity Task 的顶部,而不活跃的 Activity 则会被暂停。这意味着您不应该假设已被暂停的 Activity 一定是不可见的。

如果多窗口模式不适用于您的场景(例如全屏游戏),您可以在 API level 24 以上,利用 manifest 的 android:resizeableActivity="false" 属性来禁用多窗口模式。

在布局 XML 里,您可以定义 Activity 尺寸的默认值和最低支持值,也可以选择性地支持跨 Activity Drag-and-Drop 等。

充分的测试是一项关键。若开发者没有长屏幕设备,我们建议在模拟器上设置合适的屏幕尺寸和屏幕分辨率等硬件属性,从而进行测试。

每一位开发者都希望在长屏幕设备上给用户留下深刻的印象。我们很期待看到更多针对不同屏幕配置优化的 App 和游戏!

相关文章

  • 为长屏幕设备做好准备

    作者 Android 开发者平台 Fred Chung 最近几个月发布的 Android 手机型号,全面屏,特长纵...

  • Arduino系列题记

    准备了好久,arduino快速学习课程做好了!!! 为大家准备了一套个人自学设备。 设备清单 包含:arduino...

  • App Store商店展示图规范 - iOS

    屏幕快照规范 您必须为所有设备类型提供一组屏幕快照。对于 iOS App,必须提供最高分辨率 iOS 设备的屏幕快...

  • 我从来都没有准备好

    “为即将到来的考试做好准备了吗?” “为上台演讲做好准备了吗?” “为选择的专业道路做好准备了吗?” ······...

  • 五举措帮孩子“戒掉”手机

    马上要开学了。那么,帮助孩子“戒掉”手机等电子设备,为开学做好准备,父母能做些什么? 一、设置过渡期 ...

  • iOS 开发小日记 - 持续更新

    /** 设备屏幕宽度 */ /** 设备屏幕高度 */ /** iPhoneX判断 */ /** 状态栏高度 */...

  • iOS-有关ViewController 的继承关系

    A UIScreen :定义了一个联结到无力设备的物理屏幕 A UIWindow :为屏幕提供绘制支持 A set...

  • 屏幕快照规范

    您必须为所有设备类型提供一组屏幕快照。对于 iOS App,必须提供最高分辨率 iOS 设备的屏幕快照。对于 iP...

  • 上架时,屏幕快照规范

    您必须为所有设备类型提供一组屏幕快照。对于 iOS App,必须提供最高分辨率 iOS 设备的屏幕快照。对于 iP...

  • 开发笔记1-Web网页开发一些尺寸的计算

    移动端h5视频高度百分百,视频水平居中的偏移量计算 1、前置已知数据:设W为设备屏幕的宽,H为设备屏幕的高,以及视...

网友评论

本文标题:为长屏幕设备做好准备

本文链接:https://www.haomeiwen.com/subject/ivmqixtx.html