Android应用中10大导航设计错误
标签:
字号:A-A+
摘要:Android应用中10大导航设计错误,致力于成为中国创业者的信息平台和服务平台,帮助中国创业者实现创业梦想。为创业者和风险投资人提供各种创业类最新资讯和实用知识手

导语:在评测过无数APP应用之后,Android开发者关系团队总结出了10个最常见的错误,希望能让大家摆脱摸着石头过河的窘境。

Android 开发者关系团队每天都会试用无数的 App 或者受到无数的开发者发来的、请求评测的 App。在评测如此之多的应用之后,他们总结出了一些最常见的错误,并且在这期节目中为大家呈现出来。

在正式介绍这些错误之前,我想稍微提一句。这些错误是非常具有普遍意义的错误,也就是说,你用十个应用可能就会碰见这十个错误,甚至你会在一个应用中碰见全部十个错误。这种情况在中国市场上显得更加严峻。所以,希望这篇文章能让大家摆脱摸着石头过河的窘境,直接的避免一些常见的错误。

1. 将导航项放在 Action Overflow 里

我应该已经不止一次在各种 App 上看到有人把导航项放在 Action Overflow 中了。经常被放进 Action Overflow 的导航有"主页","商店","我的信息 (微信,twitter 中枪)",甚至一些分类。但是 Action Overflow 真的不是导航项该去的地方,别忘了这地方是 Action Overflow,是用来放操作的。还有另一个很重要的原因是,在很多有着 Menu 按钮的手机上,应用中是不会显示 Action Overflow 的,他们得被 Menu 键唤出,可见性太低了,而且关于 Menu 键还有一大堆问题 (这里就不展开了)。

还有一点很重要的就是,在现在的 Android 上,界面 UI 已经逐渐形成了一个规律 —— 导航靠左,操作靠右。如果你硬是要把导航放进 Action Overflow,无形中也会违背这个规律。

2. 错误的导航层级

这个错误也是颇为常见的。在 Android 中我们有很多常见的导航方式,比如 Tabs,Spinners 和 Drawer。这些导航方式当然是可以搭配着使用的,但是当你搭配使用这些导航方式的时候,请注意他们之间的层级关系。当你规划你的导航层级的时候,一般情况下是要构造一个树状结构,在一个层级下有其他的子层级,以此类推。在 Android 中,不同层级一般对应着不同的导航方式。而错误的用法是,比如上图中那样的,用 Tab 作为最高导航层,Spinners 作为次层,而 Drawer 作为最次层。在 Android 上,这三个导航方式对应的层级是遵循着比较严格的规定的。

上图呢才是一般情况下的正确做法。通常情况下,Drawer (如果有的话) 代表着最高的导航层级,然后则是 Spinners,再次是 Tabs。如果你有超过三级的导航层级,我们强烈建议你把最顶端的几个都放在 Drawer 中 (只有 Drawer 能容纳超过一个导航层级,因为 Drawer 中的项目能够以合理的方式展开),然后把剩下两个层级分配各 Spinners 和 Tabs。当然,实际上作为一个移动应用,简化层级也是非常重要的,我们强烈的不推荐你在应用中采用非常深的导航层级,这只会让用户感到困惑。

还有一点需要注意的是,虽然在上面的示意图中 Spinner 和 Drawer 共存而且看起来 Spinner 在 Action Bar 上 (Drawer 实际上在 Action Bar 之下),但是在实际应用中,当用户划出 Drawer 的时候,你应该让 Drawer 渐变成另一副模样 —— 只留下在应用中全局通用的操作,比如搜索,隐去其他的东西,比如 Spinners,换成 App 的名字。这样的话就不会产生导航层级上的困惑了。

另外,关于 Drawer,我们还有另一期专门介绍它的 ADiA: Android Design 趋势——Navigation Drawer。

3. 不能滑动切换的 Tabs。

在 Android 中,Tab 几乎是绑定了横向滑动的操作。用户对 Tabs 的期望就是他们可以被滑动。如果你在页面上采用了 paginate (ViewPager) 内容,那么内容上的滑动操作就会和 Tabs 的全局滑动产生混淆。当然,如果页面中只有一小部分是可以滑动的内容 —— 比如一个非全屏的图片浏览,那么这么做是完全没问题的,只要不与 Tabs 本身的滑动手势冲突即可。

正确的做法很简单,只要把横向的 ViewPager 给改为纵向就行了。当然,如果你有其他的解决方案也很好,只要规避与导航的手势冲突就可以了。

4. 深层/顽固的 Tabs

什么叫做"深层"的 Tabs? 要解释深层,一般来讲我们用"浅层"来做对比。在 Android 上,Tabs 应该是浅的。你用 Tabs 来作为试图更变,或者分类切换之用,而不应该在 Tabs 之内再有层级和历史。通常情况下,Tabs 只应该在导航界面出现。在上图的例子中,用户点击一个项目,理应打开一个全新的页面,而不是刷新 Tabs 下的内容。这种持续出现的 Tab 就是我们所说的深层 Tabs,或者说在 Tabs 之内有历史。

之所以不这么做的原因是,当你离开了这个 Tab,比如说滑动到了另一个 Tab 上的时候,你就把这个 Tab 置于了一种尴尬的境地 —— 现在这个 Tab (对于用户而言不可见) 应该显示什么呢? 当用户从另一个 Tab 回到这个 Tab (无论是点击还是滑动) 时,他应该保持原来的样子 (显示内容) 呢,还是显示列表? 在这种情况下,用户会很容易的感到困惑。为了避免这种尴尬,我们建议 Tabs 最好做得浅一些。

另外,若你的 Tabs 坚持不变的话,很大程度会影响到 Back 的作用。当用户切换到不同的 Tab 并且在这个 Tab 中做了一些操作之后,Back 的作用就会变得不甚明确。如果你非得在同一个视图内显示新内容,那么我们建议你采用 Drawer,Drawer 才是为全局内容切换而生的。

上图显示的才是正确的做法,打开一个新的,没有 Tabs,有 Up 的界面,而不是继续显示 Tabs。

上一页 1 2 下一页阅读全文
作者:小编 来源:创业邦 发布于2014-07-31 14:44
本文版权归原作者所有 转载请注明出处 收藏:
您可能喜欢的文章
热门阅读