新書推薦:
《
人体结构绘画重点
》
售價:NT$
653.0
《
中国妖怪故事(全集·增订版)
》
售價:NT$
1010.0
《
于胥斯原 乡族、风水与地方记忆
》
售價:NT$
806.0
《
以经治国与汉代社会
》
售價:NT$
449.0
《
我真正想要什么?:智慧瑜伽答问/正念系列
》
售價:NT$
265.0
《
元朝理财记 从成吉思汗的崛起到元朝的衰亡
》
售價:NT$
449.0
《
欧洲史:一本书历览欧洲数千年兴衰起伏,理解欧洲文明何以铸就今日世界
》
售價:NT$
1520.0
《
趣学CCNA——路由与交换(第2版)
》
售價:NT$
458.0
|
編輯推薦: |
Andriod
UI设计领域的经典著作,Amazon五星级畅销书,内容系统全面,实战性极强,包含大量最佳实践
不仅详细讲解了Android应用UI设计需要掌握的Android平台相关的各项技术和特性,而且还全面总结了Android应用UI设计的方法、技巧、模式,以及反模式
|
內容簡介: |
本书是Andriod
UI设计领域的经典著作,Amazon五星级畅销书。不仅从Android应用设计者的角度系统讲解了要从事Android
UI设计必须要掌握的Android平台的所有技术和特性,还从Android应用开发者的角度全面总结了Android
UI设计的方法、技巧、模式、反模式,以及如何实现响应式用户界面设计。本书共21章,分为四部分。第一部分(第1~4章)讲述用户界面设计、用户界面设计的工具、移动设备和触摸设备的设计,并探讨Android平台;第二部分(第5~11章)介绍
Android的应用架构和在线指南、Android的意图系统、Android应用的导航结构、主界面应用小部件、通知、物理按键、输入法和传感器设计,以及平台用户界面组件设计;第三部分(第12~16章)讨论
Android资源的管理、Android应用的布局、可缩放的图形、响应式设计,以及如何实现响应式用户界面;第四部分(第17~21章)阐述用户界面设计模式、用户操作设计模式、导航和布局设计模式、数据设计模式以及用户界面设计的反模式。
|
關於作者: |
Juhani
Lehtimaki 资深Android开发工程师和设计师,拥有10余年Java开发经验,专注于Android应用的用户界面设计和开发,负责维护一个关于Android
UI设计模式的博客,同时撰写一个关于Android
UI设计模式的专栏(http:www.androiduipatterns.com)。现任Snapp
TV公司Android部门和Google TV部门的负责人。
|
目錄:
|
译者序
前言
第一部分 Android设计简介
第1章 用户界面设计和易用性入门??2
1.1 考虑技术与设计??2
1.2 理解心智模型??3
1.3 为用户设计??6
1.4 没有应用无所不精,选择适合自己的领域??9
1.5 你是专家,用户不是设计师??9
1.6 了解用户,为普通人设计??9
1.7 总结??11
第2章 不要马上开始编程??12
2.1 原型设计??12
2.2 设计工具??14
2.3 用户测试??17
2.4 总结??20
第3章 考虑为移动和触摸设备设计??21
3.1 为移动而设计??21
3.2 为触摸界面设计??26
3.3 总结??29
第4章 探索Android平台??30
4.1 Android平台的挑战??30
4.2 Android的版本??36
4.3 Android应用的发布??38
4.4 开源的意义是什么??40
4.5 总结??41
第二部分 Android平台的特性和UI组件
第5章 Android应用架构和在线指南??44
5.1 Android应用程序结构概览??44
5.2 Android项目结构概览??47
5.3 官方Android指南??48
5.4 总结??49
第6章 Android的意图系统??50
6.1 意图让应用程序相互协作??50
6.2 使用社交网络并分享??51
6.3 和浏览器一起工作??52
6.4 Android意图系统的工作原理??53
6.5 创建自定义行为??58
6.6 意图无处不在??58
6.7 意图与第三方API??58
6.8 总结??59
第7章 Android应用的导航结构??60
7.1 Android导航系统的组件:活动和意图??60
7.2 Android导航控件??61
7.3 总结??70
第8章 主界面应用小部件??71
8.1 主界面应用小部件的使用??71
8.2 更新应用小部件数据??73
8.3 应用小部件布局和功能??75
8.4 实现应用小部件??78
8.5 总结??80
第9章 通知及告知用户??81
9.1 Android通知方法??81
9.2 何时通知用户??83
9.3 何时不要通知用户??86
9.4 避免使用弹出框??86
9.5 从状态栏通知中获得更多信息??87
9.6 总结??91
第10章 物理按键、输入法和传感器的设计??92
10.1 触摸屏的设计??92
10.2 手机物理按键的设计??93
10.3 软键盘的设计??94
10.4 物理键盘设计??99
10.5 方向键和轨迹球设计??99
10.6 触控笔设计??100
10.7 声控设计??101
10.8 外接键盘、鼠标和触摸板的设计??101
10.9 智能附件的设计??102
10.10 传感器的设计??102
10.11 第二块屏幕的设计??102
10.12 总结??103
第11章 平台用户界面组件的设计??104
11.1 使用用户界面小部件??104
11.2 自定义用户界面小部件??111
11.3 调整排版??113
11.4 使用图标??117
11.5 使用动画和过渡效果??121
11.6 总结??127
第三部分 可扩展的Android设计
第12章 管理Android资源??130
12.1 使用Android资源??130
12.2 屏幕密度设计??132
12.3 屏幕大小和形状的设计??135
12.4 语言和地区设置??137
12.5 设备控件的设计??137
12.6 平台版本的设计??138
12.7 设备模式的设计??138
12.8 总结??138
第13章 Android应用布局??139
13.1 Android布局策略??139
13.2 用XML文件和代码布局??140
13.3 布局的管理??141
13.4 定义布局的尺寸??149
13.5 滚动条??149
13.6 z轴的布局顺序??150
13.7 内边距和外边距??150
13.8 导入与合并布局文件??150
13.9 自定义布局??151
13.10 Android开发工具和用户界面生成器??151
13.11 调试布局??152
13.12 总结??153
第14章 可缩放的图形??154
14.1 九宫格图片??154
14.2 绘图XML??158
14.3 用代码绘制??163
14.4 总结??166
第15章 超越可缩放——响应式设计??167
15.1 Android设备不仅仅只是手机??167
15.2 了解响应式设计??169
15.3 制作响应式用户界面的常见方法??176
15.4 总结??178
第16章 实现响应式用户界面??179
16.1 片段简介??179
16.2 片段和活动结构??181
16.3 移植现存的应用??182
16.4 示例程序??183
16.5 总结??193
第四部分 Android UI设计模式
第17章 用户界面设计模式简介??196
17.1 用户界面设计模式??196
17.2 使用UI设计模式的好处??197
17.3 Android设计指南中的设计模式??198
17.4 本书介绍的用户界面设计模式??198
17.5 总结??199
第18章 用户操作设计模式??200
18.1 使用操作栏模式??200
18.2 使用快捷操作设计模式??206
18.3 使用操作抽屉设计模式??210
18.4 使用下拉刷新设计模式??212
18.5 使用滑动忽略的手势??215
18.6 总结??217
第19章 导航和布局设计模式??218
19.1 使用层叠图库??218
19.2 使用仪表盘??220
19.3 使用工作空间??223
19.4 使用分拆视图??226
19.5 根据上下文扩展的设计模式??228
19.6 使用侧边导航??230
19.7 总结??232
第20章 数据设计模式??233
20.1 使用动态列表??233
20.2 使用图片占位符设计模式??234
20.3 非强制登录模式??236
20.4 使用拖动重排手柄模式??238
20.5 总结??239
第21章 用户界面设计反模式??240
21.1 避免使用启动界面??240
21.2 避免使用引导界面??241
21.3 避免使用确认窗口??242
21.4 避免在界面上使用Back按钮??243
21.5 避免使用菜单按钮??244
21.6 避免隐藏状态栏??244
21.7 避免为快捷操作使用滑动覆盖层??245
21.8 避免使用非Android的设计??246
21.9 总结·247
|
內容試閱:
|
第一部分
Android设计简介
第1章 用户界面设计和易用性入门
一款应用(app)最重要的品质就是易用性(usability)。如果用户不知如何得到它,或者不清楚如何使用,那么这个应用做得再有特色也无济于事。在移动应用市场残酷的环境下,用户几乎总能找到替代品。如果一款应用不能让人感觉良好,或者用户不知道如何使用它的主要功能,那么用户极有可能卸载这款应用,不会给它第二次机会。
用户通过用户界面(UI)来操作和浏览你的应用,除此之外的一切元素,也都会在用户界面中反映出来。假如一款应用的杀手级特性提供了下一代云通信技术(或者应用包含任何其他一些了不起的功能),但是并不直观,那么你会面临花费了大把的时间,却构建了用户甚至都没有尝试过的一些功能的风险。
想要把用户界面做好,需要在设计上下工夫。本章介绍的一些概念和观点可以让读者更轻松地理解在设计上投资的重要性。本章还阐述设计过程中的一些重要概念并提供了一些想法,旨在让用户成为设计过程中不可或缺的一部分。
1.1 考虑技术与设计
用户界面设计不是一门精密科学,它也不会自动生成。它需要努力付出并投入资金。我职业生涯中的绝大多数时间都是在技术驱动的公司里度过,也就是所谓的开发者工作室。几乎在整个职业生涯应用的制作过程中,我都不得不争取要求加入设计依据。几乎所有雇用设计者或者让设计者参与进来的请求要么被回绝要么被严重误解。在一些公司里,认为设计者是画图标的人。在另一些公司里,认为设计者的存在就是浪费金钱和时间。在这些公司中,工程师或者产品团队经常自己做设计;有的时候设计源于偶然。尽管不同的项目会有各种各样的结局,但是始终都缺乏设计。产品在工程师眼中简单易用,但工程师无法理解为什么用户不能像他们所期待的那样使用这款产品。技术团队通常会这样说:“那个按钮明明就在那里,用户应该知道如何使用它。他们太笨了!”
我也曾经在另一种极端的公司工作过。所有的工作都是设计驱动的,只有设计者参与早期的客户见面会,选用的技术也没有参考团队的技术特点。设计工作用Adobe
Photoshop和InDesign实现,并没有考虑到技术的可行性,这将把技术团队逼入绝境,他们无法完成设计者想要的设计。
两种极端都不可取。在这两种情况下,初衷与结果都将大相径庭。我也有幸参与了所有的工作都做得恰到好处的一些项目。与懂得软件工程并不是简单编程的设计者或者设计团队一起工作,并且拥有一支认可用户交互设计和视觉设计能够创造绝妙设计的开发团队。设计人员与开发人员密切协作所创造的价值远远大于他们各自创造的价值。
致开发人员——用户与你的思维方式并不一样!有人已经学习过用户界面相关的知识并做出了专业的设计。不要认为你做了相关的工作就不需要用户。用户知道如何操作你的用户界面证明不了什么,不会操作相同用户界面的用户也不能证明他们愚笨。用户不会用,说明用户界面设计得很糟糕。设计人员了解用户界面的结构,他们也懂得如何测试并验证这种设计是优秀的。信任你的设计师们,他们不会因为怀有恶意或者想让你更努力工作而提出用户界面修改意见,他们想要修改界面是因为这些修改可以让用户体验更好。
致设计人员——软件工程并非单单只是编程。事实上,编程仅仅占开发者的一小部分时间。制作成功的软件产品需要谨慎的计划、架构设计、对象关系设计、模块组件设计、数据库设计、可维护性计划、部署、质量保证等其他事宜。如果你知道怎样写脚本,那这将是一个很好的开端。但是写脚本并不是软件开发。基于Photoshop制作的用户界面示意图来制作一款合格的软件产品并不简单,这需要时间、计划,尤其是经验!相信你的开发人员,他们没有花费大量时间来制作一个界面不是因为他们懒惰。他们把时间花在计划上,是为了让程序运行更流畅也更容易维护。这样整个团队就可以一起调整完善用户界面,修改也不会令人不知所措。
|
|