Android与iOS在交互细节上的区别

以下内容来自知乎,作者@MoonMonster,百度无线用户体验部交互设计师,上海MUX负责人。雷锋网已取得作者授权,而对原回答做出适当编辑排版。

本文通过了解iOS&Android这两个基本制霸移动平台的智能手机系统的交互区别(深坑),让从业者获得一些有益于开发设计的启示。

在交互细节上有哪些区别,这问题说起来估计就有难度了!事先声明,文长…… -_-’

1.导航模式

首先从导航模式开始,iOS 应用大多数情况,只提供单一的路径。无论什么样的程序,都只有一个窗口,这个窗口用于放置程序的内容和功能,用户不会意识到这个窗口。在 iOS 设备中,用户觉得程序就是依次呈现的一屏又一屏图像。

可以把一屏图像想象成一个离散的视觉状态或者模态。一个程序拥有的屏数或多或少,每一屏都是各种素材和控件的组合,由此而衍生了iOS 应用内的多种导航模式,如:平铺、列表及树状等。涉及到层级导航通过应用内左上角back键进行返回操作。

应用内的导航与系统导航分隔开,iOS应用内一般无「退出」选项,通过实体home按键返回主屏界面及退出应用(手势支持)。

Android 2.3和更早的系统依赖于手机硬件的返回键来支持应用程序的导航。Android 3.0 中引入了操作栏,于是出现了第二种导航机制: “向上”按钮。

向上按钮被用于基于层级关系的应用程序中的界面切换。系统的“返回”按键是基于用户最近查看,以时间倒叙的方式连接的界面历史的导航(但有时候又不遵循这条逻辑)。

Android应用导航主要分为以下三类:

1.应用程序内的导航 通过多个入口进入到界面 界面内的视图间导航 同一层级的界面间导航2.应用程序外的导航(通过主屏Widgets和通知) 间接通知(通知栏内的消息、mail内的日历等) 弹出通知3.应用程序间的导航

当上一个查看的界面是当前界面的父层级时,点击“返回”按键和点击“向上”按键的结果是一样的。然而,与“向上”按键不同的是, “向上”按键可以确保用户停留在应用程序中,而“返回”按键可以让用户回到系统首页,甚至会回到另一个应用户程序。

Android 4.x后采用将四大天王实体键修改为三个虚拟按键(返回、Home、多任务),意在解决Android设备碎片化的问题,并希望能够解决Android一直以为存在的导航问题,但在实际当中该问题依然存在(魅族的Smart bar同样在尝试解决这个问题,通过有效的设计形成与其它手机的差异化)。

在为Android应用进行设计时,请充分考虑导航问题,避免用户在使用过程中迷失,并且在考虑按钮位置及操作方式时注意Android虚拟键的误操作问题。

2. 操作栏(工具栏)

iOS工具栏一般处于屏幕的底部,但iPad端也可能出现在顶部。工具栏上的控件等宽放置。控件会随着屏上内容的切换而改变,因为内容与用来操纵它的控件是匹配起来的。在工具栏上放置当前情景下用户最常用的功能。每个工具栏上的控件至少要保持 44×44 points的面积(Retina屏宽高均提高2倍 one point equals two pixels ),方便用户操作。

Android操作栏是 Android 应用程序的最重要的结构元素。它几乎在应用程序的每个界面的顶部都有一块专用的区域。

大多数应用程序的操作栏被划分为四个不同的功能区域 :

应用程序的图标:图标能够帮助用户对应用进行识别,如果当前显示的不是应用程序的最高层界面,保证在图标左边显示“向上”符号视图控件 :如果你的应用程序在不同的视图展示内容,操作栏的这个部分可以允许用户切换视图操作按钮 :操作栏里的操作按钮会展示你的应用程序的最重要的操作更多操作 :把不常用的操作放到更多操作里

Android 3.0在某些应用界面引入了长按进入选择模式,4.x后对选择模式进行了改良引入了情境操作栏(CAB,contextual action bar),与操作栏出现在同一个位置,后面会与iOS的编辑模式进行比较。

Ps. Android里也有底部操作栏,但仅为顶部操作栏的扩展,官方称为「Split Action Bar」。

在进行设计的时候需要考虑操作栏如何适应不同的屏幕方向和屏幕尺寸,进行动态的调整以达到最优的效果。

3. 多任务

iOS通过双击Home键及四指手势激活多任务选择器。大多数程序在转移到后台的时候,会被挂起。被挂起的程序会展示在“多任务选择器 (multitasking bar)”中,帮助用户快速找到近期使用的程序。当用户重启挂起的程序时,它能够从退出时所在的那个点迅速恢复,无需重新渲染界面。

当用户激活多任务选择器后:

向左滑动,查看更多其它任务向右滑动(首屏任务界面), 进入侧快捷面板区域长按任务,进入删除模式

为iOS 应用进行设计时,请考虑iOS双层状态栏(double-high status bar),显示当前正在进行的任务:通话中、录音中等,应用布局不会因高度的变化而出现问题。

Android的多任务界面提供了一个最近使用的应用程序之间切换的有效方式。并被赋予一个独立的虚拟按键,位于导航栏的最右侧,用以显示用户最近使用的应用程序及任务,它们通过时间顺序进行组织排列,最近使用的应用程序放置在近期任务界面的最底部。

近期任务管理,当用户点击近期任务按键后:

选中任务左/右滑动,删除任务长按任务,将弹出任务弹窗,「从列表中删除」、「应用信息」
4. 通知中心

早期iOS系统并没有通知中心,后引入Android系统中通知中心设计,这是一种能够使用户更为简单、方便的查看各种通知信息的方案。用户通过手指从顶部边缘下滑激活通知中心(与Android一样),在应用全屏时用户需要两次操作才可激活通知中心(防止误操作)。

用户在通知中心内可实现应用间的调用或跳转,需要通过iOS的多任务才可返回之前应用(Android采用系统的back键,导致应用与应用之前的逻辑复杂性的增加)。

通知中心一般承载以下类型信息:

消息事件更新状态

通知中心是早期Android系统中的优秀设计,在之后的更新中也不断被赋予新的意义。Android的通知系统被设计为当用户聚焦某个任务时能快速告知用户一些事件,但还是应该谨慎决定创建一个通知。
用户在通知中心内实现应用间的调用或跳转,但需要详尽考虑Android系统导航「back」、「up」对跳转逻辑的影响。

因Android的开放性,导致通知中心所显示的信息可进行相应的设计,但需注意以下几条:

使其私有化导航到正确的地方对时间敏感事件请增加时间戳对通知进行合并自我清理,如某个事件在具体时间发生,过期后该通知可能对用户来说并不重要使用不同的图标或提示。

写到这插个题外话,微软的Win8木有通知中心的设计,不知道是因为赶工还是设计理念的原因,导致Surface平台的通知有点像早期iOS的情况,Win8主要依靠三种通知方式进行提示:

屏幕右上角通知锁屏界面的更新和详细状态「开始」屏幕上的磁贴5. 通知方式

目前iOS中的通知具体有四种方式:

条幅式通知弹出式通知Icon右上角消息式通知声音通知

每种通知方式给用户的通知强度及心理影响均不同,在设计时考虑希望给用户呈现的消息级别及相对应的通知强度。应用的通知及是否显示在通知中心,用户均可在设置中进行设置,请谨慎使用通知,不要让用户感到困扰及厌烦。

Android中的通知具体有以下四种方式

通知区域提醒进行中的通知弹出式通知提示条通知

其中弹出式及提示条通知仅在当前运行的应用中出现,显示需要用户立即处理的任务或提醒。进行中的通知可让用户了解正在后台运行的进程。例如音乐播放器会在通知系统里一直显示 当前正在播放的曲目直到用户手动停止播放。在顶部状态栏通知区域以图标表示最近的通知,打开通知中心即可查看这些通知,平板电脑通知区域被集成到屏幕底部的系统栏中。

6. 编辑模式(选择模式)

iOS应用在可供用户编辑的界面一般通过Table view的「编辑」键进入编辑模式,进入编辑后顶部导航栏发生变化,根据内容的不同出现不同的编辑选项,允许对内容进行多项,执行操作时将应用到多项所选内容,在编辑项过多时,可采用底部操作栏的设计。用户在编辑模式下执行完编辑后点击「完成」退出当前模式。

Android通过长按进入选择模式,选择内容后出现的情境操作栏(CAB)是一个覆盖在你的应用程序当前操作栏上的临时操作栏,它在用户长按某个可被选择的内容项后出现。 进入选择模式后,通过点击可选择多个内容项,在情境操作栏触发一个操作会应用到所有被选中的内容,执行操作后将退出选择模式,情景操作栏也随着消失。

应用程序需要支持同时选择多个内容项时,Android官方建议使用情境操作栏,并对长按手势进行预留。

iOS在文本视图、web 视图和图片视图里调出编辑菜单,来执行剪切、粘贴和选择等操作,菜单出现在需要进行处理的内容附近,与内容产生关联,轻量的悬浮式设计避免了模式化的状态(用户可点击任何区域取消悬浮菜单)。应用程序可调整菜单的行为,给用户更多控制内容的操作。

Android可以在文本框及其它文本视图中长按选择任何文字,这个操作会触发一个文本选择模式,便于扩展选择或对选定文本进行操作。同样,该选择模式会激活情境操作栏。Android 4.x对选择滑块的处理很优秀,便于用户选择,能够精确进行定位,单滑块进行光标定位时尤为管用。

7. Widgets(小部件)

这个应该先从Android谈起,Widgets一直是Android系统的亮点(个人不太喜欢,可能是因为Android系统的复杂性),Android系统导航层级就分为了主屏幕和应用列表,主屏幕是一个可定制的区域,用以放置应用程序的快捷方式、文件夹、及Widgets,通过用户左右划动屏幕切换到不同的主屏幕面板。

应用列表内区分为App区域及Widgets区域,随着用户安装的应用越来越多,相应的Widgets也越来越多… -_-’  一个应用可以弄多个不同size的Widgets,好像又有点扯远了!

Android系统的Widgets分为以下四种类型:

信息型Widgets聚合型Widgets控制型Widgets混合型Widgets

iOS平台可能大多数人觉得并没有Widgets的概念,通知中心内的天气及股票可以算是iOS对Widgets的试水(个人感受),虽然简单,但相信应该会在未来看到iOS对这一方面更深入的尝试吧。 ^_^

8. Tab栏

iOS的Tab栏用于切换子任务、视图和模式。Tab栏位于屏幕的底部,并且始终可见。Tab 栏上展示图标和文字,当用户选中某个tab时,这个tab处于高亮状态。

在 iPhone 上,tab 栏一次只能显示 5 个以内的页签。如果程序需要更多的tab,tab栏可以展示前四个,第五个放置「更多」,用列表的方式呈现其余的项目。

Android的Tab栏用于探索和切换不同视图或功能,也可用于浏览不同分类的内容集合。主要有三种tab类型:

滚动tab固定tab堆叠tab

两个系统还有很多细节上的不同,像Android的边界反馈效果与iOS的回拉效果、Activity Indicator的对比、dialog上确认键两个系统分别在不同的位置等,以及iOS特有功能上的一些交互特性Passbook、iCloud、iAd等等……

作者博客:MoonMonster

时间: 2024-07-30 22:23:49

Android与iOS在交互细节上的区别的相关文章

移动开发-Android与iOS原生态开发与HTML5的区别

问题描述 Android与iOS原生态开发与HTML5的区别 现在想要开发个移动端的项目,有新闻,论坛和一些数据查询功能.请问用那种开发方式比较好.谢谢! 解决方案 原生的效率高,适合开发游戏等高负载的程序 原生的权限大,可以访问传感器.文件.通讯簿等等 html5的不需要安装,用户容易接受 html5的跨平台,开发简单 解决方案二: ios开发HTML5IOS ,Android + html5用HTML5开发Android笔记(下篇) 解决方案三: _其实如果您的需求功能什么不复杂的话,可以用

Javascript与Android和ios进行交互的例子

一.对于Android和ios我们要执行不同的操作,下面是判断系统的js代码 // alert(ismobile(1)); 1表示Android,0表示ios function ismobile(test){  var u = navigator.userAgent, app = navigator.appVersion;  if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|

Environment.Exit()和Process.GetCurrentProcess().Kill()这两种退出进程的方式,有细节上的区别吗?

问题描述 比如,释放资源的区别?在AppDomain里面如果启动了多个exe的assembly的时候,这两种调用有什么区别? 解决方案 解决方案二:求解释!......

交互设计的那些事:ANDROID、IOS和WP平台的六大差异

iPhone.Galaxy S3 以及 Lumia 920是市场上如今最引人注目的三款智能手机,正好对应iOS.Android及Windows Phone三大平台,尽管三大操作系统在市场份额.出货量以及用户认可方面都有着不小的差异.但更能我们兴趣,更有讨论价值的其实是这三大平台在设计方面的差异,这不仅最终决定着用户的体验,也决定了开发者的参与热情. 一,布局形式的差异 1)iOS 经典的"tab bar"在 iOS 应用内如果要切换不同的模块,或者页面内要切换不同的栏目,往往都会用到&

android和ios手机客户端如何和springMVC网站交换数据?比较财务审核可以再手机上进行?

问题描述 android和ios如何和springMVC网站交换数据?比较财务审核可以再手机上进行?我做的是个旅游系统管理程序,想做个手机客户端程序,经行财务订单审核问题1.springMVC网站通过什么技术和手机客户端交换数据问题2.我网站这块需要做哪些东西准备?问题3.可以提供这方面的资料链接吗?主要是android这块? 解决方案 我个人觉得spring mvc网站和ios,android进行交互,这个想法不太正确.你可以理解为,spring mvc网站,其实是client/service

Android和Ios的crash reporter(崩溃报告采集与上传)

Crash Report,这在大型软件开发领域是很常见的功能,就是能够当程序崩溃退出后,能够将崩溃时的信息,最好是携带dmp文件发送给服务器,这样开发人员既可以获得分发出去的客户端的崩溃率统计,也可以针对出现的错误进行及时的纠正,之前在PC的端游时代,这是很常见的做法,最近进行了在手游上的关于crash report的相关研究,并且为项目编写了一个相对完善的CrashReport模块.        这个模块的来源于手游项目正式上线,但是很多玩家反馈闪退,但是我们只能听到反馈闪退,却不能找到原因

研究称iOS在HTML5表现上远超Android

研究称iOS在HTML5表现上远超Android(图) http://www.sina.com.cn2012年03月06日01:35新浪科技微博HTML5表现:iOS VS Android新浪科技讯 北京时间3月6日凌晨消息,面向移动游戏开发者的本地JavaScript和HTML5平台发布研究报告称,无论按哪种标准计算,苹果iPhone手机和iPad平板电脑在HTML5上的表现都要比Android设备好最多三倍.报告还显示,Android设备的表现差异很大,其中Galaxy Nexus远远超出基

研究人员利用旁路攻击窃取Android和iOS上的密钥

以色列特拉维夫大学的研究人员利用旁路攻击(PDF),成功从Android和iOS设备上窃取到用于加密比特币钱包.Apple Pay账号和其他高价值资产的密钥. 研究人员攻击的是常用的椭圆曲线数字签名加密算法,利用目标设备旁边的磁探针去测量设备在执行加密操作时泄露的电磁辐射,从中提取出加密重要数据的密钥. 研究人员称他们能完整提取出运行在iOS设备上的OpenSSL和 CoreBitcoin签名密钥,部分提取出Android设备上的 OpenSSL密钥.受影响的iOS系统主要是旧版本-- 7.1.

Android 5.0动态设计细节

  错过了历数Honeycomb (3.0).Ice Cream Sandwich (4.0) 和 Jelly Bean (4.1 – 4.3)Android成长的尴尬"青春期",我第一次接触到的还是KitKat 4.4.当时感觉整个系统都非常不错,与iOS 7的操作相对比也没有让人觉得特别适应不了.但是,在应用本身或多或少有些问题,让我仍然无法完全割舍Apple的生态系统,投奔安卓. 而本月发布的安卓5.0棒棒糖,可以说是转折点.5.0为安卓带来了很多优异的功能,而且在很多方面超出了