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 ...
随机推荐
- Java线程面试题 Top 50 (转载)
转载自:http://www.cnblogs.com/dolphin0520/p/3958019.html 原文链接:http://www.importnew.com/12773.html 本文由 ...
- JAVA 设计模式 观察者模式
用途 观察者模式 (Observer) 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象. 这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己. 观 ...
- golang内存分配
golang内存分配 new一个对象的时候,入口函数是malloc.go中的newobject函数 func newobject(typ *_type) unsafe.Pointer { flags ...
- golang中的race检测
golang中的race检测 由于golang中的go是非常方便的,加上函数又非常容易隐藏go. 所以很多时候,当我们写出一个程序的时候,我们并不知道这个程序在并发情况下会不会出现什么问题. 所以在本 ...
- SQL Server时间粒度系列----第1节时间粒度概述
本文目录列表: 1.什么是时间粒度?2.SQL Server提供的时间粒度3.SQL Server时间粒度代码演示 4.SQL Server基准日期 5.总结语6.参考清单列表 什么是时间粒度 ...
- android 开发:shape和selector和layer-list的(详细说明)
目录(?)[+] Shape 简介 使用的方法 属性 Selector 简介 使用的方法 layer-list 简介 例子 最后 <shape>和<selector>在An ...
- PHP表单数据写入MySQL代码
<h1>插入操作</h1> <?php if(!isset($_POST['submit'])){ //如果没有表单提交,显示一个表单 ?> <form ac ...
- ASP.NET将文件写到另一服务器
有时我们需要将来自于客户端的文件上传到WEB服务器端,并在服务端将文件存储到第三方文件服务器中存储. 实现如下: 1.在文件服务器B上建立一共享文件夹,同时在该服务器上创建一用户,如DocShareU ...
- jquery基本选择器(.class选择器)
//通过class属性值匹配元素<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...
- spring笔记3 spring MVC的基础知识3
4,spring MVC的视图 Controller得到模型数据之后,通过视图解析器生成视图,渲染发送给用户,用户就看到了结果. 视图:view接口,来个源码查看:它由视图解析器实例化,是无状态的,所 ...