阅读更多

7顶
2踩

移动开发

转载新闻 Android界面与交互设计原则

2012-01-18 12:49 by 资深编辑 luiang1018 评论(2) 有4849人浏览
译者按:在iOS HIG已经强大经典了N年之后,Android终于推出了一套比较系统的HIG(大概是为了配合Android 4.0 Ice Cream Sandwich)。仔细比较两套HIG的“设计原则”部分,发现完全是截然不同的两种风格。iOS HIG走的是更专业型的路线,描述严谨且有不少的专业词汇(比如Metaphors、Consistency之类的)。而Android则显得亲民许多,不仅描述方式简要易懂,配图鲜明直观,甚至还用了“me”作为了一系列要点的标题,更充分地传达出以用户自身的体验为中心的思路。

设计原则

这些设计原则是由安卓的用户体验团队制定并应用的,以此来保证用户心目中最佳的用户体验。应用开发者应该参考这些设计原则,并将之用于自己的创作与设计,有针对性地在用户体验方面进行实践。

吸引我

以令人惊讶的方式取悦我

漂亮的界面,精心设置的动画,或是恰到好处的声音效果,都是快乐的情感体验。各种细微的效果精妙地组合在一起往往效果惊人,不仅显得轻松明快,更可以营造出丰富强大的氛围。


真实的物件远比按钮和菜单更有趣

使用现实世界中的对象和操作来构建应用中的对象和操作。这样不仅能够帮助用户,尤其是新手,迅速地理解应用程序的操作方法和作用,减少认知成本,同时也使他们能获得更多的情感满足。


把它变成“我的”

人们喜欢添加个性化风格,因为这让他们感觉像在家一样一切尽在掌握,也让这个应用显得和自己一样与众不同。应用应该提供明快合理且漂亮的默认值,同时最好也考虑添加一些有趣但不妨碍主要任务的自定义项目。


了解我

随着使用时间的推移,应用应该了解并记住用户的行为和使用偏好。不要让用户一遍又一遍作出相同的选择,最好能让他们能够方便地使用上一次的选择。


简化我的生活

用语简洁

使用简单的单词和短句进行说明——用户极有可能跳过冗长复杂的句子。


图片比文字更直接

尽量使用图片来进行说明。图片更吸引用户的目光,往往也比文字更有效。


为我选择,但最终是我说了算

智能地推断用户的行为,并推荐相应的解决方案,而不是一开始就询问用户想干嘛——太多的选择和决定让用户烦躁。不过为防万一推荐得不对,记得给出“撤消”操作。


只在我需要的时候显示

同时看到太多的东西让人感到不堪重负,所以最好把复杂的任务和信息分解成一段段的便于操作和理解的步骤。隐藏当前不需要的选项,并让当用户学会在需要时到哪儿去找它们。


我应该知道我在哪里

让用户清楚地知道他们在应用中的位置和操作路径。让你的应用中各个部分看起来区分明确,并在界面切换时使用适当的过渡效果,以表明它们之间的关系。对正在进行的任务提供反馈。


不要丢失我的内容与设置

保存用户花费时间创建的内容与设置,让它们在任何时间任何地点都可以被访问,并在手机、平板电脑和计算机之间保持同步一致。这也可以让升级变得更加容易与方便。


如果它看起来一样,那它的功能也应该一样

尽量使用明显是视觉差异来帮助用户区分功能上的不同。避免使用看上去相同或相似的模式、操作来实现其实并不相同功能。


只在重要的时刻打断我

如同拥有一个优秀的私人助理一样,用户不应该被无关紧要的旁枝末节所打断。人们希望能集中注意力完成手上的任务,除非有十万火急的事情需要处理。任务中的一次打断真是让人觉得费力又沮丧。


让我惊艳

给我各处皆适用的技巧

当用户自己摸索出使用技巧时会感觉非常良好。在你的应用程序里使用其他安卓应用广泛采用的交互技巧——包括相同的视觉模式和肌肉动作,可以让用户更容易上手也更容易获得满足。比如,“轻扫”就是一个在安卓应用中广泛使用的良好的导航快捷手势。


不是我的错

友好礼貌地提醒用户改正错误——在使用你的应用时,用户当然不希望自己显得很蠢。如果出了差错,请清楚简明地给出解决方案,以便用户能够快速地进行修正,避免提及让用户看不懂的技术细节。如果应用能够在后台默默处理那就更好了!


积极反馈

把复杂的任务分解成较小的步骤可以让用户更轻松地完成。给每个行动都提供反馈鼓励,即使只是一个微妙的光芒也会让用户大受鼓舞。


为我完成复杂的任务

让新手使用他们能够做的简单操作,完成他们从未奢望过可以处理的专家级任务。例如,结合多种照片效果的快捷方式,只需几步操作,就可以使业余的照片看起来让人惊艳。


让更重要的事情更快

并非所有的操作都是平等的。决定在你的应用程序什么是最重要的,并让它能更容易更快速地被找到和使用——比如照相机的快门按钮,或是音乐播放器的播放/暂停按钮。




Via  Android Design Principles

  • 大小: 26 KB
  • 大小: 29.9 KB
  • 大小: 100.6 KB
  • 大小: 11.3 KB
  • 大小: 21.3 KB
  • 大小: 189.8 KB
  • 大小: 111 KB
  • 大小: 8.7 KB
  • 大小: 9.3 KB
  • 大小: 21.1 KB
  • 大小: 18.6 KB
  • 大小: 40.9 KB
  • 大小: 15.6 KB
  • 大小: 28.3 KB
  • 大小: 32.9 KB
  • 大小: 47.9 KB
  • 大小: 36.9 KB
来自: 2lazy
7
2
评论 共 2 条 请登录后发表评论
2 楼 haiyupeter 2012-01-18 19:08
gyht0808 写道
发现iteye就会抄别人的新闻,没亮点了

抄哪里的新闻?
1 楼 gyht0808 2012-01-18 17:36
发现iteye就会抄别人的新闻,没亮点了

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • if 条件前 && 赋值语句注意点,Ruby里面神奇的Symbol,为何要用Symbol?

    实际上,在 Ruby 内部操作符、变量等名字本身就是作为 Symbol 处理的,例如当你定义一个实例变量时, Ruby 会自动创建一个 Symbol 对象,例如 @test 对应为 :@test 。 实例变量的 Symbol class Test ...

  • map(&:name)在Ruby中是什么意思?

    我在RailsCast中找到了以下代码: def tag_names @tag_names || tags.map(&:name).join(' ') end 什么是(&amp

  • 理解 Ruby Symbol (Ruby中的符号)

    Ruby 是一个强大的面向对象脚本语言(本文所用 Ruby 版本为1.8.6),在 Ruby 中 Symbol 表示“名字”,比如字符串的名字,标识符的名字。 创建一个 Symbol 对象的方法是在名字或者字符串前面加上冒号: 创建 ...

  • Day07 - Ruby比一比:Symbol符号与String字串

    前情提要: 第六天我们透过Ruby代码练习public,protected和privatemethod时,发现冒号在...Ruby经典面试题目#07符号和字串有什么不同?What’s difference between symbol and string? 还记得我之前IT邦文章在Ru...

  • ruby中symbol

    Ruby是一个强大的面向对象脚本语言(本文所用Ruby版本为1.8.6),在Ruby中Symbol表示“名字”,比如字符串的名字,标识符的名字。 创建一个Symbol对象的方法是在名字或者字符串前面加上冒号: 创建symbol对象 ...

  • Ruby Symbol (Ruby中的冒号)

    Ruby是一个强大的面向对象脚本语言(本文所用Ruby版本为1.8.6),在Ruby中Symbol表示“名字”,比如字符串的名字,标识符的名字。 创建一个Symbol对象的方法是在名字或者字符串前面加上冒号: 创建symbol对象 ...

  • 理解 Ruby Symbol (Ruby中的冒号)

    Ruby 是一个强大的面向对象脚本语言(本文所用 Ruby 版本为1.8.6),在 Ruby 中 Symbol 表示“名字”,比如字符串的名字,标识符的名字。 创建一个 Symbol 对象的方法是在名字或者字符串前面加上冒号: ...

  • Ruby学习笔记(20)_符号Symbol

    Symbol的一篇文章结合ruby基础教程综合 博客原文What do symbols look like?This is the one area where everyone agrees. Most symbols looks like a colon followed by a non-quoted string: :myname符号能实现的...

  • (转)理解 Ruby Symbol

     Ruby 是一个强大的面向对象脚本语言(本文所用 Ruby 版本为1.8.6),在 Ruby 中 Symbol 表示“名字”,比如字符串的名字,标识符的名字。创建一个 Symbol 对象的方法是在名字或者字符串前面加上冒号: 创建 symbol...

  • 理解 Ruby Symbol ,第 2 部分: Symbol 内幕

    理解 Ruby Symbol ,第 2 部分: Symbol 内幕 本文介绍 Ruby Symbol 的内部实现。结合上篇“理解 Ruby ...在上一篇《理解 Ruby Symbol ,第 1 部分:使用 Symbol 》中,我们大致了解了 Symbol,包括 Symbol

  • ruby编写linux脚本,Ruby的25个编程细节(技巧、实用代码段)

    1.try 永远不会抛出异常 在 没有的时候 返回 nilprovince_id = Province.find_by_name(prov).try(:id)2.find(:first, :condotions) 方法 不言而与mobile_info = MobileInfo.find(:first, :conditions =>...

  • 什么是Ruby中的attr_accessor?

    我很难理解Ruby中的attr_accessor 。 谁可以给我解释一下这个?

  • Ruby Symbol使用

    如:你每次在代码中使用:name,你是要引用一个有名字为name的对象 注意: 1、String 和Symbol两者具有紧密的联系. 每个symbol 都有个字符串的名字(可以使用to_s). 而每个String 可以请求它的相应symbol (通过 to_...

  • ruby to_s_ex_Ruby中的alias vs alias_method

    ruby to_s_ex 别名vs别名方法 (alias vs alias_method) Before differentiating alias and alias_method, it is required to understand what an alias method does in any programming language? So, alias ...

  • Ruby语言介绍(二)——Ruby基本语法(语言基础)

    模板: 主题:x 阐述:y 主题:参考文献 阐述:因为最近ruby的热度下降,因而出了RoR之外的...ruby语言有自己的命名规则,从而可以方便的从名字上来判断哪个变量时常量,哪个是白能量。 创建常量 Ruby是一种弱

  • Ruby Symbol

    Ruby 是一个跨平台完全面向对象的脚本语言,构建在 Ruby 之上的 Web 框架Ruby on Rails(ROR) 正在 web 开发领域得到越来越多的认可。... Symbol 是什么 Ruby 是一个强大的面向对象脚本语言(本文所用 Ruby ...

  • Ruby Symbol(ruby中的冒号) 与 ruby string 区别

    Ruby 是一个强大的面向对象脚本语言(本文所用 Ruby 版本为1.8.6),在 Ruby 中 Symbol 表示“名字”,比如字符串的名字,标识符的名字。 创建一个 Symbol 对象的方法是在名字或者字符串前面加上冒号: ...

  • node-v0.8.10-sunos-x64.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • 【课程设计】实现的金融风控贷款违约预测python源码.zip

    【课程设计】实现的金融风控贷款违约预测python源码.zip

  • node-v0.10.27-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics