內容提要
《基於Material Design的Android用戶界面設計》以木工工具套用為例,演示如何確定產品目標,接著利用現有視圖等要素從零開始搭建整個套用,然後使用高級功能進一步最佳化代碼及資源,以達到“精心設計”的目的。另外,《基於Material Design的Android用戶界面設計》附錄提供了套用推廣所需物料等細節。《基於Material Design的Android用戶界面設計》內容覆蓋面廣,結構合理,涵蓋產品經理、設計人員、開發工程師及市場推廣人員所需的基礎理論、實戰技巧和精彩案例,適合但不限於以上人群閱讀。
目錄
前言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