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的更多相关文章

  1. Android Design Support Library使用详解

    Android Design Support Library使用详解 Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的And ...

  2. Android开发学习之路-Android Design Support Library使用(CoordinatorLayout的使用)

    效果图: 上面的这个图有两个效果是,一个是顶部的图片,在上滑之后会隐藏起来并且显示出一个ToolBar(ToolBar类似于ActionBar,但是只有ToolBar是兼容Material Desig ...

  3. 【android design】android常用设计资源

    一.概述 大部分程序员擅长开发,但是对于设计却知之甚少.这直接导致,程序员在初期开发出来的应用(大多为兴趣或实用导向)中看不中用.因此,有必要搜集整合一些设计资源,这样既能减轻程序员在设计上所耗费的时 ...

  4. Android Design 4.4中文版发布

    “两年前的今天,我们发布了 Android Design 中文版(旧闻链接). 随着 Android 系统的发展,界面和设计语言都不断的发生变化.韶华易逝.光阴苒冉,Android 进化到了 4.4 ...

  5. Android Design

    在android的讲解 Android Design

  6. 【转】【翻】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏

    转自:http://mrfufufu.github.io/android/2015/07/01/Codelab_Android_Design_Support_Library.html [翻]Andro ...

  7. Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏

    原文:Codelab for Android Design Support Library used in I/O Rewind Bangkok session--Make your app fanc ...

  8. Android Design 与 Holo Theme

    转载:http://www.geekpark.net/topics/179488 [核心提示] 提到 Android Design,很多人会做出”啊,知道,就是黑色的背景和灰蓝色的平的按钮嘛”,那么到 ...

  9. 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 ...

随机推荐

  1. HT for Web基于HTML5的图像操作(三)

    上篇采用了HTML5的Canvas的globalCompositeOperation属性达到了染色效果,其实CSS也提供了一些常规图像变化的设置参数,关于CSS的过滤器Filter设置可参考 http ...

  2. MVC之前的那点事儿系列(6):动态注册HttpModule

    文章内容 通过前面的章节,我们知道HttpApplication在初始化的时候会初始化所有配置文件里注册的HttpModules,那么有一个疑问,能否初始化之前动态加载HttpModule,而不是只从 ...

  3. PHP内核研究(内存管理1)

    PHP内存管理 PHP在5.3之前采用的是引用计数法 PHP在5.3之后采用了新的垃圾回收机制 操作系统在申请内存空间的时候回引发系统调用 在操作系统申请内存空间的时候,会将CPU从用户态切换到内核态 ...

  4. 优化MySchool数据库总结

  5. node.js下when.js(Promises/A)的实践

    假设一个业务场景: 通过rss地址,获取rss并保存于文件,rss地址保存于文件中. 完成该场景的业务需要完成3个任务: 1.从文件中读取rss地址. 2.获取rss. 3.保存于文件. 最后将这三个 ...

  6. 介绍开源的.net通信框架NetworkComms框架 源码分析(三)PacketHeader

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...

  7. Cygwin的安装

    Android开发要用到NDK,装了一个虚拟机,老是不行. 后来安装了一个cygwin,安装完毕后unset home,再export NDK,就可以使用了,非常方便,不用像虚拟机那样经常切换.

  8. hibernate----N-N--(人与地点)

    package com.ij34.dao; import java.util.HashSet; import java.util.Set; import javax.persistence.*; @E ...

  9. java servlet手机app访问接口(三)高德地图云存储及检索

    这篇关于高德地图的随笔内容会多一点, 一.业务说明     对应APP业务中的成员有两类,一是服务人员,二是被服务人员,  主要实现功能, 对APP中的服务人员位置进行时时定位, 然后通过被服务人员登 ...

  10. Global和Globals

    $a= '1234'; $a = 'abc'; $GLOBAS['b']='123'; function showVar(){ echo $a;//什么也输不出来 echo $b;//123(全局变量 ...