Android Design Principles
Android Design Principles
Enchant Me
Delight me in surprising ways
用惊奇的方式取悦用户
漂亮的界面,仔细放置的动画,一个恰到时机的音效,都是愉悦的体验。
轻微的效果会造成一种不费力感觉,还有一种力量就在手边的感觉。
Real objects are more fun than buttons and menus
真实的物体比按钮和菜单更有趣
允许用户在你的app中直接触摸和操纵物体。
这样使得执行一项工作时的认知更加容易(花费的努力更少),同时在情感上也获得更多满足感。
Let me make it mine
允许个性化定制
人们喜欢加一些个性化的东东,这样可以让他们觉得在自己家一样自在,并且有掌控感。
可以提供一些默认的情况(默认情况要保证合理、美观),但是也考虑到一些更加有趣的个性化定制,只要不妨碍主功能就行了。
这个比较典型的例子就是换壁纸、换皮肤。
Get to know me
了解用户
学习用户的喜好,记住它们,把上一次的选择放在最方便获得的位置。
而不是一次又一次地让用户做出同样的选择。
Simplify My Life
Keep it brief
保持简短
用短的段落和简单的话,如果句子太长用户会比较倾向于skip它们。
Pictures are faster than words
图比文字好
考虑用图片来解释概念,图片比较容易引起用户的注意,而且比文字更有效。
Decide for me but let me have the final say
为用户做决定,但是让用户有最终选择权
采取一些最好的猜测和行为,而不是直接问。
太多的选择会导致用户不开心。
仅仅在你选择错了的时候,允许用户改变你的行为。
Only show what I need when I need it
仅仅显示用户当前需要的东西
当人们一下子看到太多东西的时候,会感到不堪重负。
把任务和信息分解成可消化的小块,将当前不必要的选项统统隐藏起来,在用户进行下一步的时候再交给他们。
I should always know where I am
用户需要一直知道在哪里
给用户以信心,让他们知道他们在什么位置。
应该让你的app中的地方看起来明晰,在屏幕之间使用一些转换,来显示场景之间的关系。
对于正在进行中的任务,提供一些反馈。
Never lose my stuff
永远不要丢失用户的东西
对于用户花时间创建的东西,一定要保存好,让用户从任何地方都可以获取。
记住设置,个性化的触摸,还有一些用户创造的东西,要跨平台:手机、平板、电脑。
这样做,升级对用户来说就显得很容易和方便,不会带来额外的麻烦。
if it looks the same, it should act the same
看起来一样的东西,应当具有一样的功能
通过视觉上的明显区分,帮助用户区分功能上的不同。
避免modes,避免那些看上去相同的地方,对于相同的输入却做出不同的响应。
Only interrupt me if it's important
仅仅在重要的情况下打断用户
像一个优秀的助手,会保护人们,免于非重要的小事。
人们会想要保持专注,除非重要,或者对时间敏感,否则不要去打断用户。
打扰会造成困扰,体验不好。
Make Me Amazing
Give me tricks that work everywhere
用一些在哪里都能用的技巧
如果用户自己解决了问题,他们会感觉非常好。
让你的app易于学习,从其他的Android app中学习视觉模式和肌肉记忆。
比如,滑动就是一种很好的导航捷径。
It's not my fault
不是用户的错
在你提示用户改正错误或者纠正的时候,be gentle.
在用你的应用的时候,用户会想要感觉自己很聪明。
如果出错了,给出清晰的恢复指令,但是不用给出技术细节。
如果你可以后台直接修复问题那就更好了。
Sprinkle encouragement
给予鼓励
把复杂的任务分成比较小的几步,让它们容易完成。
对行为给予反馈,即便只是一个很微弱的光晕。
Do the heavy lifting for me
为用户做一些重要的提升
让新手感觉自己是专家,让他们能够做成一些他们以为自己不能做的事情。
比如,把多种照片效果结合在一起的快捷方式,可以让业余的照片制作者在简单的几步之后看到神奇的效果。
Make important things fast
让重要的事情变快
不是所有的动作都是相同的。
找出你的app中最重要的部分,让它很容易被发现,并且可以很快被使用。
就像相机应用的快门键,或者是音乐播放软件的暂停键。
参考资料
http://developer.android.com/design/get-started/principles.html
Android Design Principles的更多相关文章
- Android Design Support Library使用详解
Android Design Support Library使用详解 Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的And ...
- Android开发学习之路-Android Design Support Library使用(CoordinatorLayout的使用)
效果图: 上面的这个图有两个效果是,一个是顶部的图片,在上滑之后会隐藏起来并且显示出一个ToolBar(ToolBar类似于ActionBar,但是只有ToolBar是兼容Material Desig ...
- 【android design】android常用设计资源
一.概述 大部分程序员擅长开发,但是对于设计却知之甚少.这直接导致,程序员在初期开发出来的应用(大多为兴趣或实用导向)中看不中用.因此,有必要搜集整合一些设计资源,这样既能减轻程序员在设计上所耗费的时 ...
- Android Design 4.4中文版发布
“两年前的今天,我们发布了 Android Design 中文版(旧闻链接). 随着 Android 系统的发展,界面和设计语言都不断的发生变化.韶华易逝.光阴苒冉,Android 进化到了 4.4 ...
- Android Design
在android的讲解 Android Design
- 【转】【翻】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏
转自:http://mrfufufu.github.io/android/2015/07/01/Codelab_Android_Design_Support_Library.html [翻]Andro ...
- Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏
原文:Codelab for Android Design Support Library used in I/O Rewind Bangkok session--Make your app fanc ...
- Android Design 与 Holo Theme
转载:http://www.geekpark.net/topics/179488 [核心提示] 提到 Android Design,很多人会做出”啊,知道,就是黑色的背景和灰蓝色的平的按钮嘛”,那么到 ...
- Codelab for Android Design Support Library used in I/O Rewind Bangkok session
At the moment I believe that there is no any Android Developer who doesn't know about Material Desig ...
随机推荐
- Android安装BusyBox(三星N7108)
近期公司安卓app测试,分配任务为监控APP内存.CPU占用率.因安卓是基于linux开发,故很容易就联想使用Linux监控相关的命令.想法总是美好的,现实总是残酷的,使用三星 Galaxy Note ...
- 也来玩玩 javascript对象深拷贝,浅拷贝
经常看到讨论c#深拷贝,浅拷贝的博客,最近js写的比较多, 所以也来玩玩js的对象拷贝. 下面是维基百科对深浅拷贝的解释: 浅拷贝 One method of copying an object is ...
- 用caffe跑自己的数据,基于WINDOWS的caffe
本文详细介绍,如何用caffe跑自己的图像数据用于分类. 1 首先需要安装过程见 http://www.cnblogs.com/love6tao/p/5706830.html 同时依据上面教程,生成了 ...
- C# 通过反射来动态创建泛型类型
C# 通过反射来动态创建泛型类型与创建普通类型的区别在于:泛型参数的处理 创建泛型类型存在三种情况: 第一种:知道泛型类型,但需要动态指定泛型参数: 第二种:知道泛型参数,但需要动态创建指定参数的泛型 ...
- DOS 和 Linux 常用命令的对比
DOS 和 Linux 常用命令的对比 许多在 shell 提示下键入的 Linux命令都与你在 DOS 下键入的命令相似.事实上,某些命令完全相同. 本附录提供了 Windows的 DOS 提示下的 ...
- iOS 阶段学习第十天笔记(结构体)
iOS学习(C语言)知识点整理 一.数据结构 1)概念:数据结构是指计算机程序中所操作的对象——数据以及数据元素之间的相互关系和运算. 2)结构体必须有struct 关键字修饰. 实例代码: stru ...
- C#中考虑为大对象使用弱引用
1.无论怎样尽力,我们总是会使用到某些需要大量内存的数据,而这些内存并不需要经常访问.或许你需要从一个大文件中查找某个特定的值,或者算法需要一个较大的查询表.这时,你也许会采用2中不太好做法:第一种是 ...
- 【Java每日一题】20161104
package Nov2016; public class Ques1104 { private String num; public void setNum(String num){ num = n ...
- EL表达式之sessionScope
EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以 $ ...
- 程序员下一门要学的编程语言Swift
基于PHP是世界上最好的编程语言这个真理,我一直认为Hack才是程序员要学的下一门编程语言. 但今天看到InfoQ放出的新闻:"Google或许会将Swift编程语言纳入Android平台并 ...