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的UI设计与后台线程交互
本文将讨论Android应用程序的线程模型以及如何使用线程来处理耗时较长的操作,而不是在主线程中执行,保证用户界面(UI)的流畅运行.本文还将阐述一些用户界面(UI)中与线程交互的API.UI用户界面 ...
- 移动设计必备:iPhone 5S PSD 矢量原型免费下载
正如预期的那样,苹果公司最近发布了 iPhone 5S——其最新的旗舰级智能手机.新发布的 iPhone 5s,搭载了 iOS 7,看上去和 iPhone 5 几乎一模一样的,有岩石灰.金色以及银色三 ...
- Elasticsearch聚合 之 Histogram 直方图聚合
Elasticsearch支持最直方图聚合,它在数字字段自动创建桶,并会扫描全部文档,把文档放入相应的桶中.这个数字字段既可以是文档中的某个字段,也可以通过脚本创建得出的. 桶的筛选规则 举个例子,有 ...
- Javascript动画效果(三)
Javascript动画效果(三) 前面我们已经介绍了速度动画.透明度动画.多物体运动和任意值变化,并且我们在Javascript动画效果(二)中介绍到我们封装了一个简单的插件雏形,接下来我们对前面的 ...
- UEditor 1.4.3.1.NET版本上传配置备忘录
UEditor用起来还是挺方便的,下面是记录一下在上传中的配置问题(主要是上传图片的配置,其他的都是类似的). 我下载的是UEditor 1.4.3.1 .NET版本. 官网的配置说明地址为 http ...
- 用node-webkit(NW.js)创建桌面程序
以往写windows桌面程序需要用MFC.C#之类的技术,那么如果你只会web开发技术呢?或者说你有一个网站,但是你想把你的网站打包成一个桌面应用程序,该如何做呢? 答案就是用node-webkit这 ...
- 【Java每日一题】20161116
package Nov2016; public class Ques1116 { public static void main(String[] args){ System.out.println( ...
- 第 21 章 CSS3 文本效果
学习要点: 1.文本阴影 2.文本裁剪 3.文本描边 4.文本填充 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 中文本效果,其中也包含一些之前讲过的 CSS3 文本属性. 一.文本阴影 ...
- php中的字符串常用函数(五) explode 妙用
// 示例 2 $data = "foo:*:1023:1000::/home/foo:/bin/sh" ; list( $user , $pass , $uid , $gid , ...
- python中的argparse
argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行参数. 最基础的,从一个最简单的程序开始: impo ...