百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

抽屉式导航怎么用?这4种场景教你正确的设计姿势

xsobi 2024-11-24 23:32 13 浏览

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。

2012年,path首先使用了汉堡菜单作为产品的导航方式来替代原本的标签页的导航方式。一时引起了各大厂商的跟风,Youtube、facebook等App都纷纷把自己的导航改成了抽屉式导航。但由于没有统一的规范,各个产品的抽屉导航设计也各不相同,为了控制Android平台日益混乱的抽屉交互方式,2013 Google I/O大会之后,Google将Navigation Drawer纳入了Android Design规范当中,随后大量应用开始采用这种交互模式【1】。

不过慢慢的,包括youtube和facebook在内的很多app都将抽屉式导航换回了原来的标签页导航,从此,对于抽屉式导航的争辩就一直没有断过。并且慢慢的,对于抽屉式导航的批评渐渐多于肯定【2】。我摘取其中的两则批评如下。

...上图的 APP 将选项卡(tab row)变成抽屉式导航菜单(drawer menu),用户在相应功能间的切换率急剧下降。...很多用户还没有建立起相应的心理模型(尤其是抽屉式或者汉堡包菜单)尽量将 APP 的核心功能放在用户可以看得到地方。

——能露出来, 就别藏着

触摸操作中,手势永远要比点击优先级低。现代触摸操作习惯毕竟只流行了几年,然而传统PC上的操作习惯已经实行了将近20年。所以通过滑动来切换Tab不会比点击切换来的直观。

——石头们

总结一下,对于抽屉式导航的批评主要有如下几点:

1. 可见性不好:

  • 首先抽屉式导航的入口是三条杠,对于部分用户来说,他们并不能准确知道这三条杠可以呼出抽屉式导航;
  • 抽屉式导航毕竟是隐藏起来的,没有现有标签式导航来的明显。

2. 操作复杂。抽屉式导航的切换可以直接点击,如果Tab放在上方可以直接滑动切换。但是抽屉式导航的切换就要先呼出侧边栏,然后再点击,相对比而言,操作更加繁琐。

3. 与现有的交互方式冲突。抽屉式导航可以从屏幕左边缘向右滑动唤出,与iOS的后退操作冲突。但是这本来就是Android的设计规范,并不一定适用于iOS,所以我觉得的这个批评不成立。

但是,正如那句老话“垃圾是放错地方的资源”,我始终相信,没有不好的交互设计,只有不适合产品使用场景的交互设计。所以抽屉式导航也是有它的正确使用方法的。

首先关于这个入口的问题,我觉得暂时是无解的,但是这是可以通过长期的用户教育来实现的。正如现在的开关键(一个圆圈加一条杠),这个设计其实并不能一目了然地让人知道这是开关键,但是经过长期的使用,现在大部分人都会知道这是开关键。所以,这个问题就只能交给时间来解决了。

但是除此之外,上面的批评1,2总结一下就是切换麻烦(批评3不太站得住脚)。只是,如果产品的导航不需要频繁切换呢?如果有其他的切换入口呢?那么问题就迎刃而解了。那么有没有产品是这样的呢?答案是:当然有。下面我就结合一些例子来讲讲抽屉式导航的正确使用方式。

1. 导航模块有主次

抽屉式导航的使用场景首先一点是:导航的模块是有主次之分的。相对比于常用的标签式导航而言,抽屉式导航的模块之间主次区分更加明显。

  1. 当启动应用时,标签式导航的每个模块入口都是可见的。
  2. 标签式导航的模块切换非常容易,通常是点击(底部Tab)或者滑动操作。
  3. 当进入某个模块时,其他模块的入口依旧清晰可见。

基于以上三点,标签式导航模块之间的区分不是特别大。

但是对于抽屉式导航而言,以上三点都不成立。所以,相对而言,抽屉式导航的第一个模块的重要程度要远远大于其他的模块。也就是说,当不同导航模块之间存在明显的主次之分时,才可以考虑使用抽屉式导航。

举个例子,豆瓣一刻的导航模块如下:

一刻的导航

如上图,因为豆瓣一刻的资讯都是严格按照每天为单位的,一刻的目的也是希望你当天阅读完当天的内容。所以,一刻的核心使用场景是当日事当日毕,当天的内容(即“今日一刻”模块)的优先级远远大于其他模块。其他模块是为次要场景设计的,即使渗透率不高,对于产品的影响也不大。

2、次要模块可以有快捷入口

对于次要的模块,我们并不需要严格保证模块的渗透率。但是,假如我们可以提高次要模块的渗透率,又何乐而不为呢?既然抽屉式导航的可见性不高,操作繁琐,那为什么不可以另辟蹊径?设置一个可以见高,操作便捷的入口呢?答案当然是肯定的。

对于豆瓣一刻来说,模块之间的优先级如下:今日一刻>往期内容>热门作者、栏目浏览、我的喜欢。所以,往期内容模块的使用场景是仅次于今日一刻模块,但是又远远高于其他模块。所以,针对这个模块,可以设置更加便捷的快捷入口。豆瓣一刻的处理方式如下图:

次要内容快捷入口

在每日一刻内容列表的最下方设置了一个按钮,作为往期内容模块的快捷入口。这样的快捷入口,一方面不会干扰最主要的内容,因为它设置在页面最后面。另一方面,当用户阅读到最后的时候,假如用户还有强烈的阅读愿望,那么这个入口简直就是沙漠中的甘泉。

最最巧妙的一点,为什么这里不用上拉刷新而是使用按钮呢?因为上拉刷新的内容往往是衔接在当前页面下的,同时上拉刷新的操作成本很低。但是,往期内容模块与今日一刻的区分度又比较大,衔接在当前页面下并不合适,操作太便利的话又显示不出模块之间的区分度。所以,这里采用按钮而不是上拉刷新。

3、应用首次启动进行引导

当然,为了解决可见性的问题,还需要在首次启动应用的时候进行引导。对于抽屉式导航的引导,有两种方式:

  1. 启动应用自动打开导航;
  2. 指引用户点击汉堡菜单按钮,然后再弹出导航。

两种引导各有利弊,当然好处就是都可以起到引导作用。而坏处来说:

  • 第一种方法的坏处是:即使使用动画引导,引导的效果还是不如第二种,毕竟第二种用户是亲手打开导航的;
  • 第二种的坏处就是:它需要强迫用户先完成这个操作,然后才能进行其他操作。

相对而言,这种胁迫会对用户的控制欲造成一些伤害,用户体验会打一点折扣。

自动打开指引

浮层指引

4、善用小红点

最后一个方法也是为了解决可见性不高的问题,就是利用让人又爱又恨的小红点,英文名称叫Badge Notification。小红点有两种形式:一种是带数字的,另一种是不带数字。带数字的一般是跟消息有关系,比如还有两条消息未处理,那么小红点就会显示一个“2”;不带数字的一般就是引导作用,告诉用户这里有东西需要你查看。

普通小红点

带数字的小红点

由于小红点对于用户来说确实体验不太好,很多人都会有强烈的强迫症要消灭这些小红点。所以,针对用户的这种心理,小红点反而成为了产品的一种非常高效、简洁的引导方式。

不过,有句话要说的是:小红点虽好,可不要贪杯哟。适当适量的引导可以处于一种“既触发了用户的强迫症又避免让用户厌恶”的状态。如果一旦超过这个度,产品就有可能会被抛弃,所以谨慎使用小红点。

再次重复一下那句话,垃圾是放错地方的资源。没有错误的控件,只有使用不当的控件。所以与其指责抽屉式导航的种种错误,不如找一个恰当的场景去承载它,让它发挥自己的闪光之处。以上就是我对于抽屉式导航使用的一些心得。

【1】交互设计新手必看!探秘抽屉导航的前生今世 http://www.woshipm.com/ucd/92222.html

【2】哪些因素阻碍国内 BAT 的移动应用采用 Material Design?-Kenny MacCormick的回答-知乎 https://www.zhihu.com/question/37376355/answer/71940532

本文由 @Autumn阿秋原创发布于人人都是产品经理 ,未经许可,禁止转载。

相关推荐

开源鸿蒙OpenHarmony 5.1.0(API 18)正式上线:进一步增强ArkUI

IT之家5月4日消息,开源鸿蒙OpenHarmony是由开放原子开源基金会孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,搭建一个智能终端设备操作系统的框架和平台,促进万物互联...

day57:jQuery事件

链式操作<p>111</p><p>222</p>"""一行代码将第一个p标签变成红色第二个p标签变成绿色""...

基础干货:Pandas-Data Frame基础知识点总结

熊猫数据框架可以从列表、字典和字典列表等中创建。通过从现有存储中加载数据集来创建PandasDataFrame,存储可以是SQL数据库、CSV文件和Excel文件。Dataframe是一种二维数据结构...

万字长文带你通俗理解LightGBM

GBDT(GradientBoostingDecisionTree)是机器学习中一个长盛不衰的模型,其主要思想是利用弱分类器(决策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等...

数组(I) - 网络统计学(11)

数组是将相同类型的数据按照特定顺序组合在一起的集合。其中,每个独立的变量都被称为数组元素,有时也会被称作下标变量。而用于区分各个数组元素的数字编号,则被称为下标。通常各种计算机编程语言都具备一定的数值...

VUE业务中数据绑定无效-this.$set来帮忙

这个方法之前看文档肯定是看到了,但是从来没有遇到问题,就抛之脑后了!这不遇到问题了还得请它来帮忙!车祸现场问题剖析当你发现你给对象加了一个属性,在控制台能打印出来,但是却没有更新到视图上时,也许这个时...

JS数组Reduce的妙用,收藏等于学会

作者:前端发现者来源:前端发现本文转载自微信公众号「前端发现」,作者前端发现者。转载本文请联系前端发现公众号。说到处理数组的方法,想必大家都不陌生了,今天我们一起来学习下理数组常见场景下的方法。首先来...

Java 异常处理通关指南

前言在理想世界中,程序永远不会出现问题,用户输入的数据永远是正确的,逻辑没有任何问题,选择打开的文件也一定是存在的,内存永远是够用的……!但是现实世界里一旦出现这些问题,如果处理不好,程序就不能正常...

Python 数据类型 - 数组

Python数据类型-数组在本节中,你将学习如何在Python中创建和访问数组的元素。数组是相同数据类型的元素的集合。数组和列表之间的主要区别是列表可以具有不同数据类型的元素。在Pytho...

「Python系列」 Python 数据结构之数组

在大多数编程语言中,数组都是一个基础而又普遍的数据结构。在很多算法中都有广泛的应用。在本文中,我们将了解鲜为人知的Python数组实现,该实现仅使用Python标准库中包含的核心语言功能。我们将看到每...

COUNTIF函数用法大全

COUNTIF函数用于统计满足某个条件的单元格的数量,其基本用法为:COUNTIF(统计区域,指定的条件)如下图所示,要统计A列有几个5,可以使用以下公式:=COUNTIF(A2:A10,5)咱们把C...

强大到没有对手的Aggregate函数,碾压Sum等19个函数,你真的会吗

从前期的学习中,我们已经知道,Subtotal函数的功能非常强大,但还有一个函数,其功能强大到了没有对手,此函数就是Aggregate,可以实现Sum、Average、Count、Max、Min、Pr...

RISC-V并不完美?

本文最初完成于几年之前,彼时作者正在ARM公司担任执行核心验证工程师职位。作者当时的工作深入或围绕多种处理器核心,而文中提到的观点深受这些经验的影响,换句话说,这些观点存在不同程度的偏见。作者依旧...

MySQL索引解析(联合索引/最左前缀/覆盖索引/索引下推)

目录1.索引基础2.索引类型2.1哈希索引2.2有序数组2.3B+树索引(InnoDB)3.联合索引4.最左前缀原则5.覆盖索引6.索引下推总结:1.索引基础索引对查询的速度有着至...

是时候学习一下INDEX+MATCH这个超级查询神器了

【温馨提示】亲爱的朋友,阅读之前请您点击【关注】,您的支持将是我最大的动力!当我们在处理表格数据查询时,首先会想到一个超牛查询函数VLOOKUP()。如果你觉得VLOOKUP函数超牛的话,今天阿钟老师...