精通Android UI设计

副标题:无

作   者:[美]Wallace Jackson 著 盛青 谭春波 译

分类号:

ISBN:9787302425939

微信扫一扫,移动浏览光盘

简介

本书详细阐述了与Android UI开发相关的基本解决方案,主要包括Android UI设计工具,Android UI布局,Android UI Widgets,Android UI选项菜单,Android UI本地菜单,Android UI操作栏,Android UI设计考虑,Android UI设计概念、Android UI布局规范、差异和方法,Android UI主题设计和数字媒体概念等内容。此外,本书还提供了丰富的示例以及代码,以帮助读者进一步理解相关方案的实现过程。本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。

目录


第1部分  Android UI设计的核心类介绍:
开发工具、布局容器和Widgets
第1章  Android UI设计工具:配置Android开发系统 2
Java 6:下载并安装Android基础支持 3
Android ADT Bundle:查找并下载Android IDE 5
Android ADT Bundle:安装Android IDE 7
Android ADT Bundle:启动IDE并更新ADT10
UI线框图工具:下载并安装Pencil 15
数字图像编辑:下载并安装GIMP 2.8.10 18
3D建模和动画:下载并安装Blender 19
数字音频编辑:下载并安装Audacity 2.0.5 21
数字视频编辑:下载并安装Lightworks 11.5 23
小结 25
第2章  Android UI布局:布局容器和ViewGroup类 26
布局容器:使用XML实现基于标签的UI设计 26
使用参数:提炼并自定义UI标签 27
Android ViewGroup:布局容器的超类 28
ViewGroup.LayoutParams:控制布局的嵌套类 29
ViewGroup.MarginLayoutParams:边距嵌套类 30
边距(Margins)和间距(Padding)参数的差别 31
让ViewGroup动起来:LayoutAnimationController32
创建UserInterface项目和pro.android.ui包 33
新建Android应用对话框 34
新建Android应用-配置项目对话框 35
新建Android应用-配置启动图标 37
新建Android应用-创建活动对话框 38
新建Android应用-空白活动对话框 39
ViewGroup XML属性:配置RelativeLayout 39
查看XML属性:配置TextView UI Widget 43
查看间距参数:在容器内添加空白 45
AnalogClock Widget:为ViewGroup添加一个View 47
使用值目录:利用XML完成UI设计 51
小结 53
第3章  Android UI Widgets:用户界面Widgets和View类 55
Android View类:用于UI Widgets的超类55
Android View直接子类:重要的Widgets和工具56
使用View属性:重要参数 57
View的焦点:用户在关注哪一个UI Widget 59
View监听器:让UI Widget响应用户操作 60
UI布局创建:使用setContentView()方法 62
在RelativeLayout容器中添加Button UIWidget 63
Eclipse ADT问题标签:在ADT中调试XML错误 65
相对位置:在层级中添加UI按钮 67
字符串常量:为UI按钮添加<string>标签 69
事件处理器:使用Java代码添加OnClickListener70
控制AnalogClock的可见性:.setVisibility()方法 74
安装并配置模拟器:测试Java代码 76
完成UI仿真设计:添加两个按钮 79
小结 84
第2部分  Android UI设计Menu类介绍:OptionsMenu、ContextMenu、PopupMenu和ActionBar
第4章  Android UI选项菜单:OptionsMenu类和操作栏 86
Android Menu类:菜单制作的公共接口 86
Android用户界面菜单设计:概述 87
选项菜单 88
关联菜单 88
弹出菜单 89
使用XML定义菜单:<menu>和<item>标签 89
定义菜单属性:使用子标签参数 91
选项菜单设计:使用main.xml菜单定义 92
自定义OptionsMenu:添加字符串常量 96
自定义OptionsMenu:编辑参数 97
扩展OptionsMenu:添加6个以上的MenuItems 99
GIMP数字图像设计基础:创建菜单图标 100
设置目标模拟器:运行配置对话框 105
测试OptionsMenu:使用方向切换模式 106
OptionsMenu事件处理:onOptionsItemSelected() 108
小结 116
第5章  Android UI本地菜单:ContextMenu类和PopupMenu类 117
ContextMenu概述:ContextMenu公共接口117
ContextMenu方法:如何实现ContextMenu 118
利用onContextItemSelected()方法实现ContextMenu事件处理 120
为UserInterface应用创建ContextMenu120
ContextMenu文本常量:使用<string>标签 122
创建onCreateContextMenu()方法并扩展ContextMenu123
使用registerForContextMenu()注册ContextMenu124
创建onContextItemSelected()方法处理MenuItem选项 125
Android的PopupMenu类:UI Widget本地化菜单 128
为UserInterface应用创建PopupMenu UI129
使用XML标记定义PopupMenu MenuItem对象 129
实例化用于PopupMenu的TextView UIWidget对象 131
升级应用到支持API Level 11 132
在OnClickListener()内部实例化PopupMenu134
在Android AVD Nexus One模拟器中测试PopupMenu136
小结 137
第6章  Android UI操作栏:高级操作栏设计和ActionBar类 138
ActionBar组件 138
ActionBar导航模式 139
Android ActionBar类 139
为ActionBar标签创建XML基础:布局 140
为ActionBar标签创建Java基础:Fragments 144
Android的LayoutInflater类 148
使用LayoutInflater 149
clockTabListener:部署TabListener的私有类 149
FragmentTransaction类 153
使用FragmentTransaction 154
FragmentTransaction类 158
小结 171
第3部分  Android UI设计:UI布局考虑、Android
操作系统设计概念和Android UI设计指南
第7章  Android UI设计考虑:样式、目标屏幕密度和新媒体格式 174
Android媒体格式:数字图像和数字视频 174
数字图像和数字视频的颜色术语 176
数字图像压缩:概念和术语 176
Android中的声音:数字音频编码解码和格式 178
数字音频和音效设计背后的术语 180
声音采样 181
数字视频压缩:4D概念和术语 182
定义UI屏幕外观和观感:样式简介 183
为UserInterface应用的时钟创建样式 184
使用数字图像和Alpha通道:新媒体UI 190
GIMP 2.8.10与Android结合:合成两张图像194
为各种设备创建不同分辨率密度图像资源 198
小结 202
第8章  Android UI设计概念:线框图和UI布局设计模式 203
UI设计原型制作:使用Pencil 2.0.5制作线框图203
为Android操作系统设置Pencil的工作环境 203
使用Pencil 2.0.5复制ActionBar UI设计 206
在ActionBar添加应用图标和标题 209
使用Pencil 2.0.5制作横屏模式UI设计原型 212
在Pencil中重新缩放UI设计以适配横屏模式 214
Android UI设计的复杂性:考虑因素众多 215
Android UI设计基本规则:符合Android UI规范217
Android UI屏幕导航:Android中使用的主要手势218
高级UI导航类:导航抽屉或滑动视图 219
Android应用内导航:上一级和返回的差异 220
支持用户配置应用:设置和帮助 221
UI设计中的反馈:通知和确认 221
UI设计中的品牌策略:书写风格、字体和图标 222
UI设计模式:根据产品类型分组设备 223
UI设计模式:为什么需要不同的布局 224
UI设计的向后兼容性:Android 2.x、3.x和4.x 225
Android UI设计原则:令人兴奋、简单、个性 226
小结 227
第9章  Android UI布局规范、差异和方法228
UI布局间距:48 DIP用户界面布局规则 228
UI布局面板:单面板和多面板布局 229
UI布局复合视图:屏幕方向改变 229
自动缩放并定位UI设计:布局常量 230
设计UI元素彼此相关:RelativeLayout(相对布局) 231
使用多个UI布局定义:资源适配 231
相同布局的多个定义:布局别名 232
Android 3.2之前版本的资源适配:小(Small)、大(Large)和超大(XLarge)233
Android 3.2版本之后的资源适配:DIP屏幕尺寸234
应用屏幕尺寸支持:利用AndroidManifest进行声明236
创建可转换的UI设计:使用资源适配 236
AnalogClock图形:为UI设计添加按钮 237
创建多个按钮标签:添加文本串常量 239
创建多个按钮元素:使用RelativeLayout 240
创建资源适配目录和横屏布局 243
小结 248
第10章  Android UI主题设计和数字媒体概念250
主题简介:在整个应用或Activity中采用样式 250
适用整个应用范围的主题:<application>标签 251
定制主题:创建灰色操作栏 255
定制主题:创建红色标题文本 258
适用活动范围的主题:使用<activity>标签259
Android数字图像格式:PNG8、PNG24、PNG32、JPEG、GIF、WebP 260
数字图像分辨率:像素阵列和宽高比 261
数字图像颜色值:颜色理论和颜色深度 262
图像合成:Alpha通道和混合模式 263
使用代码表示颜色或Alpha:十六进制 264
数字图像和UI遮罩:Alpha通道UI合成 265
在设计中获得光滑的边缘:使用抗锯齿 266
数字图像优化:压缩和抖动 267
数字图像分辨率和颜色深度 267
抖动 268
Alpha通道 269
创建世界时钟图像资源:GIMP合成 270
创建金色圆环时钟:GIMP中的色相偏移 272
AnalogClock UI的Java代码实现:整理完成273
屏幕尺寸资源适配:太空中的AnalogClock 276
小结 283
第4部分  基础Android UI设计:基本布局容器—FrameLayout、LinearLayout、RelativeLayout和GridLayout
第11章  Android FrameLayout类:在UI设计中使用数字视频 286
Android FrameLayout类:独立内容帧框架 286
FrameLayout.LayoutParams嵌套类:Gravity(重力) 288
Android的VideoView类:在Frame中使用数字视频 290
Android视频的生命周期:8个视频回放阶段 291
Android的MediaPlayer类:视频回放引擎 292
MediaController类:控制视频回放 293
UserInterface应用闪屏:使用FrameLayout 295
Android的URI类:在Android应用中引用数据 297
使用Uri.Parse()方法:输入VideoView数据 298
核心数字视频概念:帧、帧率或FPS 299
Android中的数字视频:MPEG4 H.264和WebM格式 300
数字视频压缩:码率、流、标清和高清 301
数字视频压缩:使用编码器和设置 302
创建数字视频内容:使用Terragen3软件 304
创建非压缩的AVI格式:使用VirtualDub 306
应用视频压缩:使用Sorenson Squeeze 309
编辑Squeeze Pro预设 311
使用Squeeze It!按钮压缩MPEG4文件 312
开始视频回放:测试VideoView Java代码 314
使用FrameLayout UI容器缩放视频适配屏幕宽高比315
在Android中循环播放视频:使用OnPreparedListener()317
Android中的流式数字视频:在URI中使用HTTP URL319
实现媒体传输UI:使用MediaController 319
小结 322
第12章  Android LinearLayout类:水平和垂直UI设计 323
LinearLayout类:Android最常用的UI类 323
LinearLayout类:水平或垂直UI设计 323
LinearLayout中的UI元素空间:使用布局权重 324
LinearLayout.LayoutParams嵌套类:布局权重 325
ImageButton类:创建定制的按钮图形 326
Android ImageButton类:多状态图形按钮 326
ImageButton状态:Normal、Pressed、Focused和Hovered 327
创建UserInterface菜单结构:UI布局菜单 328
使用GIMP数字图像软件进行UI设计 334
创建多状态ImageButton资源:使用GIMP2.8.10 334
创建多状态ImageButtons:使用<selector>标签 339
创建LinearLayout UI设计:使用<LinearLayout>341
填充LinearLayout UI设计:编写LinearActivity346
高级设计中的嵌套UI布局容器 348
复杂的LinearLayouts:嵌套LinearLayout容器 348
三层LinearLayouts:嵌套LinearLayouts的嵌套 350
实现LinearLayout的功能:Java事件处理 353
小结 357
第13章  Android RelativeLayout类:使用一个布局容器进行UI设计 358
RelativeLayout类:利用相对性进行UI设计 358
RelativeLayout.LayoutParams嵌套类:UI设计 359
常用布局定位参数:Above、Below和Center 360
布局对齐参数:Top、Bottom、Left、Right、Start、End 360
本地布局定位参数:toLeftOf和toRightOf 361
对齐父布局定位参数:AlignParentTop等 361
在UserInterface菜单结构中添加RelativeLayout362
将LinearLayout设计移植到RelativeLayout设计 366
使用RelativeLayout定位标签定位UI设计 369
利用RelativeLayout对齐UI设计 371
利用锚点UI元素实现UI设计边距对齐 373
使用MarginTop参数居中显示星球名称 375
微调参数使RelativeLayout UI设计更匀称 376
小结 379
第14章  Android GridLayout类:利用网格布局进行UI设计 380
GridLayout类:利用网格进行UI设计 380
使用RowSpec和ColumnSpec参数 381
关于GridLayout定位、伸缩性、空间和重力 381
GridLayout类的可见性:利用GONE常量 382
GridLayout类的缺点:没有权重参数 383
GridLayout中的布局参数:嵌套类 384
GridLayout.LayoutParams嵌套类:布局参数 384
GridLayout.Alignment嵌套类:对齐常量 385
GridLayout.Spec嵌套类:水平或垂直Spec 386
众多GridLayout类参数:默认设置 387
在UserInterface应用中实现GridLayout388
在UserInterface菜单结构中添加GridLayout388
定义GridLayout:网格UI设计基础 390
加入更多星球和信息:更新strings.xml 394
在GridActivity.java中利用Java进行GridLayout UI交互 395
利用重力参数控制GridLayout定位 397
利用列合并功能增加中间TextView区域 399
添加Java代码,实现GridLayout交互 403
在网格UI中添加新媒体元素和合成效果 407
小结 409
第5部分  高级Android UI设计:高级布局容器—DrawerLayout、SlidingPane、ViewPager、PagerTitleStrip和PagerTabStrip
第15章  Android DrawerLayout类:在UI设计中使用UI抽屉 412
DrawerLayout类:使用可伸缩UI进行设计 412
DrawerLayout所用到的Android类 414
Android ListView:带有选项列表的UI设计414
Android AbsListView类:虚拟列表的基础类 415
Android AdapterView类:使用基于数组的Views 416
Android适配器接口:使用基于数组的Views 416
创建UserInterface应用的DrawerLayoutActivity 417
定义DrawerLayout:创建UI抽屉的XML定义 417
建立自己的DrawerActivity Java Activity子类 419
添加ListView事件处理:实现UI功能 425
为火星添加<string>常量:更多的行星信息428
添加抽屉自动缩回:closeDrawer()方法 430
精细化DrawerActivity类中的DrawerLayout431
修改每个ListView的ImageView和背景 435
小结 437
第16章  Android SlidingPaneLayout类:在UI设计中使用滑动面板 439
SlidingPaneLayout类:跨设备类型的UI设计439
SlidingPaneLayout类的层级结构 440
SlidingPaneLayout类适用的最佳UI设计 440
在SlidingPaneLayout中使用权重参数 441
探索3个SlidingPaneLayout嵌套类 442
在UserInterface应用中添加SlidingPaneLayout442
定义SlidingPaneLayout:SlidingPaneUI的XML代码 443
创建火星ImageButton:利用GIMP和XML 444
完成行星UI面板定义:添加4个ImageButtons 446
定义行星信息面板:添加5个TextViews 447
创建加载UI的SlidingPaneActivity子类 448
在Android Manifest中添加SlidingPaneActivity类 449
微调SlidingPaneLayout UI设计布局宽度451
在SlidingPaneLayout UI设计中合成图像452
在SlidingPaneLayout UI设计中使用多个图像452
利用Java实现SlidingPaneLayout设计交互 454
使用不同模拟器测试SlidingPaneLayout 459
小结 462
第17章  Android ViewPager类:利用ViewPager实现水平导航 463
ViewPager类:水平滑动屏幕UI设计 464
ViewPager.LayoutParams嵌套类:布局属性 465
PagerAdapter类:管理ViewPages数组 466
PagerAdapter方法:实现PagerAdapter的覆盖方法 466
利用关键对象进行ViewPager索引 467
定义分页布局:使用XML编写多面板UI 469
为MainActivity菜单添加ViewPagingActivity类 470
配置AndroidManifest.xml 472
完成定义行星UI面板:添加4个ImageButtons 472
创建ViewPagingActivity类滑动太空图像 474
为ViewPagingActivity添加ViewPagerAdapter类 476
添加getCount()方法 476
添加.instantiateItem()方法 477
添加.destroyItem()方法 478
添加.isViewFromObject()方法 479
添加公共Parcelable.saveState()方法479
添加.restoreState()、.startUpdate()和.finishUpdate() 479
测试galaxy数字图像资源分页UI界面 480
小结 481
第18章  Android PagerTitleStrip和PagerTabStri:ViewPager导航UI 482
PagerTitleStrip类:水平滑动屏幕标题 482
加载PagerTitleStrip数据:创建String[]数组 484
调用PagerTitleStrip布局:.getPageTitle()方法 485
定义PagerTitleStrip布局:使用XML编写PagerTitleStrips 486
利用PagerTitleStrip测试ViewPagingActivity类 487
配置PagerTitleStrip:使用Java方法 489
设置TextSize参数 489
设置TextColor参数 490
测试12SP TextSize和CYAN TextColor设置效果 491
设置TextSpacing参数 492
PagerTabStrip类:水平滑动屏幕标签 493
转换PagerTitleStrip UI到PagerTabStripUI设计 494
转换XML UI定义 495
转换Java UI定义 495
渲染新的PagerTabStrip UI 497
为PagerTabStrip定义定制的颜色 498
添加定制的数字图像UI元素 500
在PagerTabStrip UI设计中使用图像合成 501
小结 503

 

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

精通Android UI设计
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon