在谷安——谷奥Android专题站 [http://android.google.org.cn],看到一篇《Android优化UI秘籍》的文章,文章写得不错。在很多时候,经常碰到开发人员就一些ui细节和设计人员产生一定争议,我认为很大原因是开发人员对其中的一些ui设计常识不太清楚。把其中的内容整理一下,完全可以做为开发人员开发和优化ui的规则。

一、四不要和八要

一)四不要:

1.不要过度使用模态进度条和确认对话框。

  1. 不要使用固定的绝对定位布局。

  2. 不要使用px单位,使用dp;如果是文本,使用sp。

  3. 不要使用太小的字体。

二)八要:

  1. 所有资源都要针对高分辨率屏幕创建(缩小总比放大好)

  2. 需要点击的元素要够大

  3. 图标设计要遵循 Android 的准则

  4. 要使用适当的间距(margins, padding)

  5. 要支持D-pad和trackball导航

  6. 要正确管理活动(activity)栈

  7. 要正确处理屏幕方向变化

  8. 要使用主题/样式、尺寸和颜色资源来减少界面冗余

二、优秀界面的设计准则

一)显示正确的内容

  1. 最常用的操作用户应该立即可以看到并且使用

  2. 次要功能可以放到菜单里面

二)给予用户适当的回馈

  1. 交互式的UI元素最少需要反映出4种不同的状态 (default,disabled,focused,pressed)

  2. 保证操作的结果是清晰可见的

  3. 多给予用户进度提示,但是不要干扰他们当前的操作

三)有章可循的行为模式

  1. 行为模式遵循用户的期望(正确的操作活动栈,显示用户期望看到的信息和动作)

  2. 使用合适的方式来加强功能可见性(可点击的元素就应该看起来是可以点击的)

三、容忍错误

  1. 只允许有意义的操作(适当禁用一些UI元素)

  2. 尽量减少不可回退的操作

  3. 允许回退(undo)比使用确定对话框更好(实际上,应该尽量少用确定对话框,它对用户是一种干扰)

四、开发过程中要考虑因素

  1. 屏幕的物理尺寸

  2. 屏幕密度

  3. 屏幕的方向(竖向和横向)

  4. 主要的UI交互方式(触屏还是使用D-pad/trackball)

  5. 软键盘还是物理键盘

  6. 了解不同设备之间的相异之处是非常重要的!

  7. 阅读CDD(兼容性定义文档),了解设备可能的差异

  8. 了解屏幕尺寸和密度分类