Android UI设计秘笈2.pdf
文本预览下载声明
Android UI 设计秘笈 2
Android 的官方开发者博客发了一份幻灯片,介绍了一些 Android UI 设计的小
贴士,Roger 在这里以看图说话的形式发出来,有兴趣的读者就继续往下翻吧。
整个 PPT 共分5 个部分,Part II 翻译的是第三部分。
翻译的第一部分在这里。
你必须了解(使用)的 UI 框架特性。
使用相对布局管理界面元素。
译者注:相对布局和线性布局是Android 里面常用的两种布局,线性布局比较简
单,而相对布局可以做出比较复杂的布局管理,所以仅仅了解线性布 局,很多
时候是不够的。不过以作者之前Qt 的经验来看,Android 里面的布局管理功能
都比较阳春也不太容易使用,不过这可能是跟移动平台的性能考量有 关系。
使用资源修饰符来修饰同一套资源的多个不同版本。
1,一个apk 包里面会包含所有的资源文件。
2,系统在运行时会根据软硬件环境来自动选择相应修饰符版本的资源。
译者注:最常用的修饰符可能是locale 修饰符(制作多语文本),dpi 修饰符
(为不同密度的屏幕制作不同尺寸的图标和皮 肤),orientation 修饰符(为
横屏和竖屏提供不同的UI 布局)。如果系统找不到对应的修饰符版本,它就会
选择无修饰符的版本,这个版本通常也是 所谓的默认选择。
使用 9-patch drawables –foo.9.png
1,9-patch drawables 的语法跟CSS3 border image 类似
2,根据边缘的像素宽度切割出不同的拉伸区域
3,最好同时提供 mdpi 和 hdpi 的版本
译者注:drawables 在 Android 里面跟 WPF 里面的 Drawing 类似,用于定义
一个可绘制的对象,包括位图,刷子,填充颜色或者以上物件的组合等等。所谓
9-patch drawables,就是将一个 drawable 按照定义的 4 个边缘的宽度大小切
割成9 个区域,包括4 个角落,4 条边缘和一个中心区域,当把这个 drawable 绘
制到一个任意矩形区域时,drawable 的各个区域有不同的拉伸控制(角落不拉
伸,横边横向拉伸,竖边竖向拉伸,中心区域横竖向都拉伸)。通常使用 9-patch
drawable 一般是为了绘制出比较漂亮的带圆角背景,这样可以避免圆角及边缘
被任意拉伸导致变形。当然,如果你的程序里面绘制的图像和目标区域大小完全
一样,就不需要 那么麻烦,不过以 Android 的状况来说,为了适应多种设备,
最好不要事先假设目标区域的像素大小。
使用 Selector (state list) drawables (状态列表)来提供不同状态(normal,
disabled,focused,pressed…)下的绘制图像。
使用 Layer drawables (多层叠加)来制作具备复杂效果的可绘制图像。
译者注:所谓多层叠加,使用PS 来制作图标和皮肤的同学可能都清楚,比如说
一个按钮的PS 模板通常会包括所谓的background 层定义底 色,mask 层定义轮
廓,shine 层定义前景的高亮效果。而 Android 里面允许你直接在 XML 脚本里
面使用 Layer drawables 的语法来定义上述的多层叠加效果,这样可能比在PS
里面直接做好要更灵活一些,并且有的层可以是来自png 位图,有的层可以是直
接通过 XML 脚本生成(比如纯色,过渡色等等)。
Android 智能手机小组资源共享地址(下载更多精彩资料) :
/FILE_DOWNLOAD_900004_3000006900.HTM
Android 平板电脑小组资源共享地址(下载更多精彩资料) :
/FILE_DOWNLOAD_900005_3000006905.HTM
显示全部