分类: Android平台
2013-03-13 14:11:17
Android UI设计概论
Revision History
Date |
Issue |
Description |
Author |
<24/11/2011> |
<0.5> |
|
wylhistory |
|
|
|
|
目录
TOC \o "1-3" \h \z \u 1. Abstract.. PAGEREF _Toc310003336 \h 3
2. Introduction.. PAGEREF _Toc310003337 \h 3
3. 设计目标.... PAGEREF _Toc310003338 \h 3
4. 设计原则.... PAGEREF _Toc310003339 \h 3
5. 设计流程.... PAGEREF _Toc310003340 \h 5
6. 总结.... PAGEREF _Toc310003341 \h 5
主要是关于android平台下UI设计的目标,原则,流程的探讨;
文档主要探讨了Android平台下UI设计的目标,原则,以及设计流程:
目标:就是我们所要达到的效果;
原则:就是一些必须遵循的基本底线;
设计流程:有了这些原则,我们具体以什么样的过程开始模块的设计,达到我们的目标;
以下内容,纯属个人观点,如有雷同,纯属巧合,如有冒犯,请多包涵!
在我的理解里面,UI的设计目标就是:简洁,易用,好用;
简洁:
不是简单,也不是简陋,是洗尽铅华的宠荣不惊,是饱经沧桑的返璞归真,比起转瞬即逝的绚烂烟火,我更喜欢恬淡,宁静的田园风光;简陋是看到一座山,就画一个三角形;简单是只看到山的这一面,所以只画了一面;繁杂是看到了山的这面也看到了背面,所以画了两面;简洁是知道正面和背面,但只描绘了需要的一面,并让看官明白,另外一面也不过如此,只需要沿着这条路上山,下山的路自然在路的尽头;乔布斯的设计风格,如果非要用两个字来形容,那就是简洁,如果用五个字来形容,那就是简洁到极致;简洁更多的时候是一种感觉,它还潜在的包含了好看的要求,如果非要量化的话就是:只需要用最直观明了的方式表现用户最需要的功能,其它的功能或隐藏或消失,从这里可以看出,决定简洁的因素,包含了:视觉元素,元素的搭配,元素的布局,以及功能的定义,其中不同的功能的定义,将会严重影响布局的简洁性;所以在主流的UI设计中,往往有两种偏向,也就是在功能和简洁发生冲突的时候,有的人喜欢简洁为上,比如苹果,有的人喜欢功能至上,比如Nokia 的symbian,meego、Windows的芒果系统;
易用:
就是给你一张地图,你能很快找到入口,当前位置,目标等,并且以你最熟悉的方式;比如北面一定是在地图的正面的上方(我就曾经在地铁的某个地图上发现,它的北面,居然是在下方的);
好用:
这个是比较高的要求,是一个综合的评价;比如一张地图,它能让你快速的找到你要找的位置,所以你必须提供搜索功能;它能在你跋涉沙漠,口渴难耐的时候,突然发现地图上标识了最近的水源;
查看一座山的时候,有这个山的历史人文信息;景区游览内急难耐的时候,告诉你厕所的位置;这些都属于功能上得要求,用户不但需要知道这些使用过的功能,并且需要知道如何找到他还没有使用过的功能;同时还有效率上的要求,别等找到厕所的时候,已经尿裤子了;
我们需要定义一套基本的规则用以达到我们的设计目标;
直观明了:
a)最主要的功能一定放在较显眼的位置,让用户一眼可以看到;
b)文字表意清晰并且符合目标客户群使用习惯;
c)图标(片)一定言之有物,如果不能表达应有的意思,宁愿不要;
d)要强调的内容用深色系,背景浅色系,通过强烈的色彩对比表达;
e)相关联的内容色系相近,比如都同为浅色系,差别不能太大;
f)对同一界面可能出现的颜色做好规划,防止一种颜色表达不相关的意义;
一致性:
一致性简单说包括UI的一致性和交互的一致性,其中UI的一致性包括:
a) UI元素,比如图标的一致性,时而圆角,时而直角就不太好了;
b) 颜色的一致性,不能有时用灰色表示disable,有时有红色表示disable;
c) 状态的一致性,不能有的文字(图标)表示当前状态,有的文字(图标)表示将要切换到的状态;
d) 文字,术语等的一致性,不能一会较wifi,一会叫wlan,一会叫无线网络;
e) 由这些元素构成的系统性窗口在不同应用之间的一致性,比如弹出框需要表现一致,比如确定键不能时而在左,时而在右;
f) 相关联的用户表现的一致性,比如通讯相关的几个应用;
g) 和事实上的标准保持一致,比如拨号键一般都是绿色的,你不能搞成红色的;
交互性的一致性包括:
a) 错误提示的一致性,不到万不得已不要提示,提示的话尽量谦逊,淡化,别吓坏了用户;
b)对于已经大量使用的控件,比如button,list item,checkbox,tabwidget等的表现需要一致,比如你不能期望用户双击一个按钮触发事件,虽然这在windows上是正常的;不能有的列表界面可以支持滑动反弹,有的不行;
c)过场动画的一致性,尽量不要时而从上到下,时而从下到上,除非你已提供了明确的指示信息,这里我个人的观点是不需要太快,可以让用户有种控制的感觉;
d)反馈颜色的一致性,不能有的应用红色表示选中,有的蓝色表示选中,而且尽量和业界保持统一;
反馈:
反馈就是对用户的操作做出反应,包括:
a) 即时,也就是快速的做出反应;
b) 如果一件事需要一定时间完成,一定要有动画,文字等提示用户,耐心等待,并且动画需要一致;
c) 对于用户的操作有颜色的变化来通知用户,所以Android上通常一个图标都由四个状态,正常,禁用,获得焦点,按下,分别配以不同的图片;
d) 能不用模态对话框,就不用,用户在进入到一个等待场景,忍无可忍的时候,却无法退出,那是很让人抓狂的;
容忍:
容忍就是理解用户的难处,对于他的行为尽量包容,把他当成完全不懂的人;
a) 尽量不要让用户输入,比如联系人,提供让用户快速找到而不需要输入的方法;
b)允许用户输入错误,并尽量记录用户的输入,比如用户输入一个账户,在用户下次进入的时候,就不需要再重头输入了,比如用户已经发过短信的联系人,就可以快速的找到;
c) 可撤销
d) 设计一个功能的时候,要站在一个完全不会用的人的角度来思考;
结构化设计:
这个说实话,比较难,它属于分类和概括的范畴,对于一个不得不表达很多内容的UI,它尤其重要,比如我们的设置,很多用户抱怨,根本找不到想要的功能,它包含一下内容:
a) 恰当的分类,这个原则是把常用的放在前面,不常用的往深处放,比如可以分为网络,常用设置(声音,显示,输入,时间等),安全(锁屏等设计个人隐私的东西),应用管理等几大类,尽量把不常用的隐藏起来;
b) 恰当的表现,如何表达同一类的内容,如何表达不同类之间的内容,如何表达相同和不同级别的内容,颜色如何搭配,不同级别如何切换等,都是需要仔细斟酌的;
这块比较难,所以到现在为止,基本没有公司 做得让人非常满意;
也就是如何开始一个模块的UI的设计,以下是我个人的理解:
a) 设计之前先参考其它公司的产品,比如IPhone,HTC,三星,魅族,MIUI,点心等,取其精华去其糟粕;
b) 定义功能集,哪些是需要让用户看到的,哪些是放在菜单里面的;
c) 根据这些功能,选择恰当的UI元素,计算可能用到的颜色,制定布局;
d) 制定交互流程,内部activity之间的切换流程;
e) 评审,这里为尽量减少反复,需要让评审人员参与到功能确定和UI的设计和布局过程中,如果还不通过,需要回到b或c,重新开始;
UI的设计其实是一个非常复杂的工程,甚至一定程度上需要一定的天赋,毕竟这里面都涉及一些很感性的东西,但是如果多分析别的优秀的产品,还是可以学习到一些设计理念的;我个人比较偏好简洁的风格,这个可能每个人不一样,有的人就喜欢喧嚣,有的人却喜欢宁静,有的人喜欢色彩绚丽,有的人喜欢黑白素雅;根据我个人的UI设计目标:简洁,易用,好用,制定了一套设计准则,不一定全面,只是个人的理解,也设定了一套流程;UI是一个产品非常重要的部分,所以我们还需要花大量的精力来学习,路漫漫其修远兮,吾将上下而求索!
作者:wylhistory
联系方式:wylhistory@gmail.com