Designing for Multi-Window

原文地址:
http://android-developers.blogspot.com/2016/05/designing-for-multi-window.html

Posted by Ian Lake, Developer Advocate

作为开发者,你可以加入很多功能去充分利用Android N,但当你设计UI时,你应该首先考虑支持多窗口模式。


用户和多窗口交互的主要模式是手持设备和平板都支持的分屏模式。在这种模式下,两个应用程序分割可用的屏幕空间,用户可以拖拽两个分屏间的分割线调整应用程序的大小。正如你能想象的那样,这种模式带来了以前没有的设计挑战。

An even more responsive UI

本课程从Android N之前的版本吸取经验和教训,移动网络和桌面环境在Android N中仍然可用。设计一个响应式UI( Responsive UI)仍是多窗口体验非常重要的第一步。


在任意设备上,响应式UI可以适应给它提供的尺寸,采取内容的最好展示方式和适当的导航图标(Navigation patterns)来提供一个最好的用户体验。如何设计一个使用的响应式UI请看Building a Responsive UI blog post

Adapting your layout

当你为最大和最小的屏幕以及两者之间的任意尺寸的屏幕设计布局时,最重要的是在调整大小时提供一个平滑无缝的过渡(正如 spilt screen layout guidelines所提到的那样)。如果你在手机和平板上都有一个相似的布局,你会发现这对后面的工作很有帮助。


然而,如果你手机和平板的布局有很大的不同,且它们之间没法做一个平滑无缝的过渡,当调整大小的时候,你不应该将它们进行转换。相反的,你应该集中于使用同样的响应式UI模式将你平板的UI按比例缩小。这确保了在调整你的应用程序尺寸时,用户不需要重新适应UI界面。


注意:布局属性中的minimalHeight和minimalWidth属性允许你设定你想要告诉Activity的最小尺寸,但这并不意味着用户不能把你的Activity调整的比这更小。这实际上意味着你的Activity会被裁剪成用户指定的尺寸,有可能会把一些UI组件挤出屏幕以外。你应该尽量使得你的应用程序支持到最小尺寸(220x220dp)。

Design configurations to consider

多窗口中可能出现的各种尺寸和纵横比类似于现有设备(三分之一的横屏平板在屏幕尺寸上和现有移动设备很类似),当你考虑多窗口时,这里有些非常常用的配置。


第一种情况是移动设备(竖屏时)的16:9的布局。在这种情况下,竖直的空间是非常有限的。如果你有一些堆叠在别的控件之上的固定控件(例如一个工具栏,一个可滚动内容和一个底部导航栏),你可能会发现,实际上并没有空间显示可滚动内容(这才是最重要的部分)。


第二种需要考虑的情况是平板上34.15%的布局。竖屏时非常宽的纵横比或者横屏时非常高的纵横比比现有设备已经发现的纵横比更为极端。你可以考虑把你手机的布局作为这种配置的一个起点。

Patterns to avoid

当涉及到多窗口时,这里有些模式你想要完全避免的。


第一个是依赖于滑动屏幕边缘的UI交互。在很多设备上(如Nexus设备),当涉及到屏幕上的导航栏时,这种UI交互已经成为一个突出的问题,在分屏模式中,这种情况更为严重。因为没有办法(准确地)确定你的Activity在屏幕的哪个边缘,所以不要把边缘滑动作为访问程序功能的唯一途径。这不意味着你不能使用边缘滑动,但你必须确保有代替的方法。这里有个很好的例子(Navigation Drawer),它可以通过边缘滑动打开Drawer,也可以通过点击工具栏的汉堡包图标打开Drawer。


第二种是完全禁用多窗口。在有些情况下这是有意义的(例如像游戏这样身临其境的体验),当然也有一种情况是你的Activity及其启动的其他Activity被迫支持多窗口模式。就像Preparing for Multi-Window blog post提到的,当你允许外部应用程序打开你的程序时,你的Activity会从calling Activity中继承多窗口属性。

Designing for Multi-Window is designing for every device

对好的多窗口用户体验来说,建立一个能对可用空间做出反应的反应式UI是非常重要的,这是一种可以让各种Android设备的所有用户都能受益的运用。

所以,把它作为#BuildBetterApps 的一个有利条件吧。

更多消息请看Android Development Patterns Collection


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值