本站已关停,现有内容仅作科研等非赢利用途使用。特此声明。
查看: 1618|回复: 0
打印 上一主题 下一主题

Designing for Multi-Window

[复制链接]
跳转到指定楼层
1#
发表于 2016-6-7 17:07:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 truthrudy 于 2016-6-7 17:11 编辑

发布人:开发顾问 Ian Lake

作为一名开发者,Android N中有许多值得挖掘的新功能,但在设计和构建 UI 时,拥有良好的多窗口支持依然是最重要的。

用户操控多窗口的主要模式是使用分屏模式,在手持式设备和尺寸更大的平板电脑上均支持该模式。在此模式下,两个应用分割可用屏幕空间,用户可以通过拖拽两个分割屏幕之间的分界线来调整应用的窗口大小。您可以想象,这种模式带来了之前原本不需要的独特设计难题。

响应更灵活的 UI
鉴于以往 Android 版本的经验教训,同时考虑到移动网络和桌面环境仍然适用于 Android N,因此,设计响应式 UI 仍然是打造卓越多窗口体验非常重要的第一步。

响应式 UI 是一种适应所提供屏幕尺寸的 UI 设计,其通过选择最佳的内容表示方式以及适宜的导航模式,在任何设备上都能为用户带来绝佳的体验。有关如何设计和构建高效的响应式 UI 的详细信息,请查阅构建响应式 UI 博文

调整您的布局
在针对各种尺寸的屏幕设计布局时,很重要的一点是要确保能够按照分屏布局指导原则中所述的原则平滑、无缝地调整窗口大小。如果您针对手机的布局已经与针对平板电脑的布局类似,您会发现,有许多工作无需您劳神。

然而,如果手机和平板电脑的布局大不相同,将无法在这两种布局之间平滑过渡,在调整窗口大小时,您不应在这两种布局之间进行切换。而应重点使用相同的响应式 UI 模式来缩小平板电脑 UI。这样可以确保用户在重新调整应用窗口大小时无需重新学习应用 UI。

请注意,通过 minimalHeight 和 minimalWidth 布局属性,您可以设置您希望向 Activity 报告的最小尺寸,但它们并表示用户不能将 Activity 调到更小的尺寸,实际上是表示会将您的 Activity 裁剪到用户请求的尺寸,这可能会导致 UI 的某些元素越过屏幕边界。继续向下支持最低 220x220dp 的尺寸。

需考虑的设计配置
尽管多窗口中有许多尺寸和纵横比与现有设备相似(横向平板电脑的 1/3 与现有手机设备的屏幕尺寸相似),但在考虑多窗口 UI 设计时,还有一些更常见的配置。

第一种配置是纵向模式下手机设备上的 16x9 布局。这种情况下,垂直空间极为有限。如果您有大量固定元素彼此相邻地堆积在一起(工具栏、滚动内容和底部导航栏),您可能会发现,几乎没有任何空间显示滚动内容,而这恰恰是最重要的部分!

第二种需要考虑的情况是平板电脑上的 34.15% 布局。设备在纵向模式下超大的宽高比或在横向模式下超大的高宽比比在现有设备上的情形更极端。对于此配置,请从手机布局开始考虑。

应避免的模式
在涉及到多窗口时,您可能希望完全避免某些模式。

首先是从屏幕边缘滑扫屏幕的 UI 交互。在许多设备(例如 Nexus 设备)上,导航栏占据了大部分屏幕空间,这一点已经带来了一定的问题,而在分屏模式下,则进一步加剧了这个问题。由于无法(主动)判断您的 Activity 是位于屏幕顶部、底部、左边还是右边,因此,不要让边缘滑扫成为访问应用内功能的唯一方法。这并非意味着您必须完全避免使用边缘滑扫,而只是要确保除此之外还有替代方法。这方面一个不错的范例是采用临时抽屉式导航栏,边缘滑扫可打开该导航栏,但也可通过按下工具栏中的汉堡包图标来访问该导航栏。

其次是要完全禁用多窗口。尽管肯定存在完全禁用多窗口确实很不错的情形(例如,从根本上打造沉浸式体验的应用,例如游戏),但也有一些情形下,您的 Activity 以及任何从该 Activity 启动的 Activity 均必须支持多窗口。如“为多窗口做准备”博文中所述,当您支持外部应用启动您的 Activity 时,您的 Activity 将继承调用 Activity 的多窗口属性。

多窗口设计是面向所有设备而设计的
构建能够根据可用空间做出反应的响应式 UI 是打造卓越多窗口体验的关键,但事实上,此举对跨越各种 Android 设备的所有用户均大有裨益。

因此,您可借此构建更优质的应用

关注 Android Development Patterns Collection,了解更多详情!


ChinaGDG.com
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表