前言 XIII
緻謝 XIV
序言 XV
第1 部分 Android 用戶界麵基礎
第1章 Android界麵和Material Design 1
Android設計簡史 2
Material Design 4
基本概念 4
交互和動畫 7
字體 8
測量和對齊 9
Android設計站點 10
核心原則 10
做一件事並把它做好 10
與其他應用友好相處 12
視覺、視覺、重要的視覺 13
簡單但強大 14
平颱一緻性 15
適應用戶 16
標準組件 17
係統欄 17
通知係統 18
應用欄 19
Tab 和側邊式抽屜導航 20
FAB 20
支持多種設備 21
避免讓人痛苦的錯誤 22
菜單鍵 22
長按 22
通知圖標 22
來自其他平颱的樣式 23
小結 23
第2章 理解view——用戶界麵的構架模塊 25
什麼是view 26
View ID 28
理解view 尺寸 29
顯示文本 33
顯示圖片 38
背景 38
聚集用戶輸入的view 40
其他值得關注的view 44
事件的監聽 47
其他監聽器 48
小結 48
第3章 用ViewGroup與Fragment創建全布局 49
理解ViewGroup以及常見的實現方式 50
其他值得關注的ViewGroup 61
用Fragment封裝view邏輯 63
Fragment 的生命周期 64
給予 Fragment 數據 65
與Activity 進行通訊 66
執行Fragment 的事務 69
爭議 70
支持庫 70
CardView 庫 72
Design 庫 72
GridLayout 庫 73
Leanback 庫 73
MediaRouter 庫 73
Palette 庫 73
RecyclerView 庫 73
注解支持庫 74
小結 74
第4章 添加應用的圖形和資源 75
Android中資源的介紹 76
資源限定符 76
理解密度 81
可支持的圖片文件 82
柵格圖片 83
矢量圖片 84
9-patch圖片 84
XML可繪製對象 86
Layer List 87
State List 88
Level List 91
其他資源 101
Strings 102
數組(Array) 103
顔色(Color) 104
尺寸(Dimension) 105
動畫(Animation) 105
ID 105
菜單 106
小結 107
第2 部分 完整的設計和開發過程
第5章 開始一個新的應用 109
設計方法 110
常用方法 110
以用戶為中心的設計 110
確定目標 113
用戶目標 114
用戶模型 115
産品目標 116
設備和配置支持 116
概要流程圖 117
綫框圖 120
從導航開始 123
接著進入內容模塊 126
詳情頁麵的綫框圖 128
支持多種設備 130
命名慣例 130
原始資源 132
小結 133
第6章 原型和開發應用基礎 135
組織為Activity和Fragment 136
創建第1個原型 137
Tab 138
抽屜導航(Navigation Drawer) 140
Tool 展示 143
Tab Fragment 149
Tool Details 163
評估第1個原型 168
與用戶一起工作 169
完全開放 169
明確目標 170
動態目標 170
真實的用戶反饋 170
下一步 173
小結 174
第7章 設計視覺效果 175
綫框和圖形設計 176
工具 176
風格 177
擬物設計 177
極簡設計 178
扁平化設計 178
Material Design 179
光源 179
顔色 180
相關科學 180
選擇顔色 183
木工應用 187
文本注意事項 187
文本對比 188
文本尺寸、樣式和大寫 189
文本間距 189
文本陰影 190
自定義字體 190
易懂的用語 192
其他注意事項 192
變化的文本長度 192
圖片的有效性和尺寸 193
透明度和3× 規則 193
標準圖標 194
導航和過渡 194
錯誤情況 194
設計步驟 195
小結 199
第8章 實現設計方案 201
和設計師一起工作 202
切齣圖形資産 203
簡單切圖 203
9-patch 圖片 205
生成可替代尺寸 208
主題和樣式 209
把comp拆分為多個view 210
開發木工應用 211
主屏幕 212
工具列錶 222
工具詳情 236
多種設備上的基本測試 240
小結 241
第9章 用動畫齣彩 243
動畫的目的 244
view動畫(View Animation ) 244
屬性動畫(Property Animation) 245
控製Property Animation 247
監聽器 247
類型Evaluator 248
Time Interpolator 251
關鍵幀 253
ViewPropertyAnimator 254
錯誤提示動畫 254
動畫圖標 259
製作矢量圖標動畫 259
動畫化柵格圖標 264
簡單的轉場 265
屏幕轉場 266
Activity 轉場 270
圓形顯現過渡 274
小結 277
第3 部分 Android 用戶界麵的高級應用篇
第10章 使用高級技巧 279
識彆Jank 280
用Systrace理解Jank 281
優化圖片 288
目錄XI
壓縮圖片 288
正確使用圖片的大小 290
使用圖片緩存 294
額外的性能提高 300
控製垃圾迴收 300
View Holder 模式 301
消除過度繪製 304
Hierarchy Viewer 307
找到丟失的view 310
消除不必要的view 310
導齣為PSD 文件 310
自定義字體 311
復雜的TextView 314
存在的Span 314
復雜文本的Span 使用 316
RecyclerView 318
布局管理器 319
適配器 319
條目Animator 320
條目裝飾 320
小結 320
第11章 處理Canvas和高級繪製 323
創作自定義Drawable 324
基本概念 324
其他的重要方法 325
Paint 325
Canvas 326
處理文本 326
一個簡單的文本Drawable 326
更好的Text Drawable 329
處理圖片 331
色彩過濾器 334
Lighting Color Filter 334
色彩矩陣 335
PorterDuff 圖片閤成 336
著色器 347
圓形圖片 347
漸變淡化 350
小結 353
第12章 開發自定義view 355
基本概念 356
測量 356
布局 357
繪製 358
保存和恢復狀態 358
創建一個自定義View 359
測量 361
處理布局Layout 362
建立Bitmap 363
保存和恢復狀態 365
小結 373
第13章 處理輸入和滾動 375
觸碰輸入 376
其他形式的輸入 377
創建一個自定義View 378
創建初始自定義View 文件 378
測量 384
繪製 388
準備觸碰輸入 393
處理觸碰輸入 397
其他注意事項 414
小結 415
附錄A Google Play資源文件 417
附錄B 常用任務參考 433
· · · · · · (
收起)