本文为Android UI设计的官方教程的译文的第一部分。本文原是Android的官方开发者博客的一份Android UI设计的幻灯片,我们把这个教程整理出来,希望大家喜欢。
咱们从前给咱们一个《MeeGo移动终端设备开发UI规划基础教程》,一起许多朋友都在寻觅Android UI开发的教程,咱们从Android的官方开发者博客找了一份幻灯片,介绍了一些Android UI规划,咱们把这个教程整理出来,希望咱们喜爱。
想了解悉数Android UI教程内容请点击51CTO独家专题:谷歌官方教程:Android UI规划技巧
作为开发者,为啥咱们要关怀UI,前面的一堆统统能够疏忽掉,直接跳到***一条。由于好的UI规划能够协助咱们卖出更多复制,赚到更多钱。
#p#
简介
这个教程包含5个部分:
◆该做什么,不应做什么
◆规划哲学和考量
◆你有必要了解的 UI 结构特性
◆新的 UI 规划形式
◆图标和原则
#p#
UI规划5不要
Don’t:
◆不要照搬你在其它渠道的UI规划,应该让用户感觉是在实在运用一个 Android 软件,在你的商标显现和渠道全体观感之间做好平衡
◆不要过度运用模态对话框
◆不要运用固定的肯定定位的布局
◆不要运用px单位,运用dp或许为文本运用sp
◆ 不要运用太小的字体
#p#
UI规划9要素:
Do:
◆为高分辨率的屏幕创立资源(缩小总比放大好)
◆ 需求点击的元素要够大
◆图标规划遵从 Android 的原则
◆ 运用恰当的距离(margins, padding)
◆ 支撑D-pad和trackball导航
◆正确办理活动(activity)仓库
◆ 正确处理屏幕方向改变
◆运用主题/款式,尺度和色彩资源来削减剩余的值
◆和视觉交互规划师协作!
#p#
4则Android UI的规划哲学:
◆洁净而不过于简略
◆重视内容而非润饰
◆保存共同,让用户简单投入其间,可附加少量改变
◆运用云端服务(存储和同步用户材料)来加强用户体会
#p#
优异界面的规划5条原则:
◆重视用户
◆显现正确的内容
◆给予用户恰当的回馈
◆有章可循的行为形式
◆忍受过错
重视用户:
◆了解你的用户(年纪,技术,文明,对你的运用的需求,运用的设备,何时何地怎么运用设备)
◆‘用户优先’的规划心态 (用户一般是使命导向的行为形式)
◆更早,更频频的由实在用户来测验
显现正确的内容:
◆最常用的操作需求最快被用户看到而且可用
◆不太常用的功用能够放到菜单里边
给予用户恰当的回馈:
◆交互式的UI元素最少需求反映出4种不同的情况 (default,disabled,focused,pressed)
◆确保操作的结果是清晰可见的
◆多给予用户进展提示,可是不要搅扰他们当时的操作
有章可循的行为形式:
◆行为形式遵从用户的希望(正确的操作活动仓库,显现用户希望看到的信息和动作)
◆运用适宜的方法来加强功用可见性(可点击的元素就应该看起来是能够点击的)
◆假如用户完结一项使命需求杂乱的操作,从头考虑你的规划!!!
忍受过错:
◆只答应有意义的操作(恰当禁用一些按钮)
◆尽量削减不行回退的操作
◆答应回退(undo)比运用确认对话框更好(实际上,应该尽量少用确认对话框,它对用户是一种搅扰)
#p#
“假如过错是或许产生的,那它就一定会产生。”
——Donald Norman, The Design of Everyday Things 作者
规划需求考量的8当地:
◆屏幕的物理尺度
◆屏幕密度
◆屏幕的方向(竖向和横向)
◆首要的UI交互方法(触屏仍是运用D-pad/trackball)
◆软键盘仍是物理键盘
◆了解不同设备之间的相异之处是非常重要的!
◆阅览CDD,学习设备或许差异的当地
◆了解屏幕尺度和密度分类
#p#
Android UI 结构特性
你有必要了解(运用)的 UI 结构特性。
运用相对布局办理界面元素。
译者注:相对布局和线性布局是Android里边常用的两种布局,线性布局比较简略,而相对布局能够做出比较杂乱的布局办理,所以只是了解线性布局,许多时分是不行的。不过以作者之前Qt的经历来看,Android里边的布局办理功用都比较阳春也不太简单运用,不过这或许是跟移动渠道的功能考量有联系。
#p#
合理运用资源润饰符
运用资源润饰符来润饰同一套资源的多个不同版别。
◆一个apk包里边会包含一切的资源文件。
◆体系在运行时会依据软硬件环境来主动挑选相应润饰符版别的资源。
译者注:最常用的润饰符或许是locale润饰符(制造多语文本),dpi润饰符(为不同密度的屏幕制造不同尺度的图标和皮肤),orientation润饰符(为横屏和竖屏供给不同的UI布局)。假如体系找不到对应的润饰符版别,它就会挑选无润饰符的版别,这个版别一般也是所谓的默许挑选。
#p#
9-patch drawables
运用 9-patch drawables – foo.9.png
◆9-patch drawables 的语法跟CSS3 border image 相似
◆依据边际的像素宽度切割出不同的拉伸区域
◆***一起供给 mdpi 和 hdpi 的版别
译者注:drawables 在 Android 里边跟 WPF 里边的 Drawing 相似,用于界说一个可制造的方针,包含位图,刷子,填充色彩或许以上物件的组合等等。所谓 9-patch drawables,便是将一个 drawable 依照界说的 4 个边际的宽度巨细切割成9个区域,包含4个旮旯,4条边际和一个中心区域,当把这个 drawable 制造到一个恣意矩形区域时,drawable 的各个区域有不同的拉伸操控(旮旯不拉伸,横边横向拉伸,竖边竖向拉伸,中心区域横竖向都拉伸)。一般运用 9-patch drawable 一般是为了制造出比较美丽的带圆角布景,这样能够防止圆角及边际被恣意拉伸导致变形。当然,假如你的程序里边制造的图画和方针区域巨细彻底相同,就不需求那么费事,不过以 Android 的情况来说,为了习惯多种设备,***不要事前假定方针区域的像素巨细。
#p#
运用情况列表和多层叠加来制造具有杂乱作用的可制造图画
运用 Selector (state list) drawables (情况列表)来供给不同情况(normal,disabled,focused,pressed…)下的制造图画。
运用 Layer drawables (多层叠加)来制造具有杂乱作用的可制造图画。
译者注:所谓多层叠加,运用PS来制造图标和皮肤的同学或许都清楚,比方说一个按钮的PS模板一般会包含所谓的background层界说底色,mask层界说概括,shine层界说远景的高亮作用。而 Android 里边答应你直接在 XML 脚本里边运用 Layer drawables 的语法来界说上述的多层叠加作用,这样或许比在PS里边直接做好要更灵敏一些,而且有的层能够是来自png位图,有的层能够是直接经过 XML 脚本生成(比方纯色,过渡色等等)。
【修改引荐】
- MeeGo移动终端设备开发UI规划基础教程
- 图文并茂 在MyEclipse 8.6上建立Android开发环境
- Android开发必备的21个免费资源和东西
- 51CTO独家专访:Android开发入门问与答