基于Material Design的Android用戶界面設計 ( 簡體 字) |
作者:鄭磊 | 類別:1. -> 程式設計 -> 手機程式 -> Android 2. -> 程式設計 -> UI/UX |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 45582 詢問書籍請說出此書號!【缺書】 NT售價: 645 元 |
出版日:10/1/2016 |
頁數:460 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121300349 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:譯者序 我從2008 年開始從事移動端界面設計研發的工作,當時正是Android 火熱發展 的階段,借助在騰訊和搜狗項目歷練的機會,我深刻了解到Android 相較其他平 臺更具有開放性和更多的可能性。在項目中我深刻體會到不夠規范對設計和開發 的成本所造成的浪費。如今Android 發展日趨成熟,Material Design 是個非常有 意義的指導規范,好的平臺就需要讓從業者能更高效率和質量地完成開發。 在2014 年受博文視點編輯張春雨之邀完成本書第一版本的翻譯之后,我又在 2015 年完成了本書第二版本的翻譯工作。本書最大的特色在于同其他類似的開 發工具書相比,它更全面地介紹了開發一款應用時,在產品經理的角度進行技術 準備之前的各種業務分析,從思維導圖落地到原型設計的精彩案例。這些案例讓 技術人員從一開始就明確設計的準則——不是為了開發而開發,而是為目標而開 發;同時,在體驗設計表現層的視覺上,更全面地介紹了界面視覺的基礎知識, 讓我們的讀者站在技術和藝術的交叉線上,達到比普通應用開發更高階的品質和 體驗。附錄的市場推廣技巧介紹了國外的應用市場,同樣,在中國國內也有很好 的借鑒意義;在本書的后面部分作者也總結了很好的開發技巧的內容,這對開發 者來說是難得的經驗積累。總之本書對于有Android 基礎、但對產品基礎和設計 感覺還不夠深入的開發者是非常受用的。 在第二版的翻譯中,我獲得了兩位朋友的全力幫助:李平霞,資深移動端交互 設計師,畢業于北京理工大學的設計藝術學碩士,執著于最好的用戶體驗,熟 悉各類設計規范,讓本書在體驗設計層面精準還原了作者的規范意圖和Material Design 的規范內涵;張鴻昊,畢業于東北大學計算機專業,經歷了豐富的 Android 開發工作,作為本書的技術校對專員,他支持了本書所有的代碼審查, 翻譯難點攻堅。張鴻昊始終相信幫助他人是收獲快樂的重要途徑,非常興奮地投 入到本書的翻譯工作中。得益于兩位的傾力投入,本書才能順利、快速地呈現給 各位讀者,在此,我對兩位朋友的支持表示深深的感謝! 前言 Android 的發展速度驚人,任何開發人員都難以緊跟它的發展變化。盡管我們可 以盡力了解Android 最新的特征和API 的變化,卻非常容易忽略設計方面發生的 變化。Google 發布的Material Design 指南也讓那些長期未關注Android 視覺的設 計師們開始重視起來。 當下最重要的是開發人員要采取一些可行的方法來理解設計的核心要素以及 Material Design 指南。要是沒有多年的設計背景,你要弄清楚這一切也有一定的 困難。這本書將引導你經歷真實的設計過程,從一個抽象的概念或紙面草圖開始, 直到最終的實現,方法會涵蓋動畫、RenderScript 和自定義view。目的就是保證 你可以接觸到Android 的每一個核心概念,而且盡量涵蓋足夠多的內容,保證你 能更有效地與設計師溝通,甚至自己創作一切。 設計有很多目標,但最重要的兩點是可用性和視覺吸引力。你希望新用戶進入你 的應用后毫不費力地就開始使用,這是因為移動用戶比其他任何平臺的用戶更沒 有耐心。用戶需要確切地知道自己能與什么交互,并且不用全神貫注就能立刻實 現需求。那就意味這你必須知道平臺約定是什么,以便能夠利用上養成的習慣。 如果你已經拿起了這本書,那我無需強調設計是何等重要。你懂的!你發誓一定 要做出漂亮且令人體驗愉快的應用。 這本書將作為一個完整設計和實現流程的教程,也是你可以不斷重復使用的參考 資料。你將了解如何與設計師或其他開發人員進行溝通,最終做出最好的應用。 你會讓應用充滿視覺吸引,同時還能在最后關頭輕松改變必要的設計需求。 最后,設計師和開發人員都希望開發的應用能驚艷眾人,而我會無比興奮地告訴 你如何讓驚艷成真。 ——Ian G.Clifton 致謝 你可能以為編寫這本書的第二版會比第一版簡單,但技術和設計的趨勢變化太快, 以致于你發現90% 都得重寫,多虧有了援助。感謝責任編輯Laura Lewin,重構 這本書時,起初我在某些章節的深度上并沒計劃投入太多精力,他再一次將我拉 回了正軌。編輯助理Olivia Basegio 記錄所有改動的地方,包括在網上的粗略剪 輯,以便感興趣的讀者能夠掃一眼便知這本書有了提升。Songlin Qiu 再次擔任本 書的策劃編輯,他設法理解我半夜寫的章節草稿。我非常感謝所有技術評審,他 們的反饋對本書的質量起到了很重要的作用,感謝Adam Porter、Cameron Banga 和Joshua Jamison。 關于作者 Ian G.Clifton 是一名專業的Android 應用開發人員、用戶體驗倡導者,也是本書 的作者。他與很多開發人員、設計師們一起工作,領導著Android 開發團隊,開 發出一些著名的應用,諸如Saga、CNET News、CBS News 等。 Ian 喜愛科技、藝術和用戶體驗,這讓他走過許多不同的道路。除了Android 開發, 他還做過平臺、網絡和桌面的開發工作。他曾供職于美國空軍,作為衛星寬頻和 遙測系統的短期員工,還用鉛筆、炭筆、毛筆、相機甚至是木頭創作了數量相當 可觀的藝術作品。 序言 本書讀者 這本書主要是為那些想更好地理解Android 用戶界面的開發者們準備的。為了聚 焦在Android 用戶界面設計的重要主題上,本書假定你已經對Android 有一個基 本的了解。閱讀本書之前你至少應該做出一個“Hello,World”的Android 應用, 亦或是設定你的電腦為開發狀態(Android 開發網站是一個初學者好去處)。 大多數開發者對設計體驗的認識有限,甚至是沒有,因此本書并未假設你能理解 設計。無論何時設計主題都是重要的,例如選擇顏色。本書將教會你這些基礎的 概念,使得你在做決定時不僅有信心,還能知道為什么要做那些決定。 本書組織架構 本書分為3 部分。第1 部分,Android 用戶界面基礎,在讀者深入到創建Android 界面的具體類之前,提供了Android 用戶界面的概要和趨勢。同時這部分也包括 圖形和資源的使用。第2 部分,完整的設計和開發過程,反映了應用開發的各個 階段,始于想法和目標,繼而完成框架和雛形,然后是開發完整的應用,包括高 效布局、動畫等。第3 部分,Android 用戶界面的高級應用篇,探索了更加復雜 的方式,包括應用Systrace 來排除用戶界面性能的故障以及通過操作繪圖、滑動、 保存狀態來創建自定義view。 本書還有2 個附錄。附錄A 重點講述Google Play 的資源文件準備(包含與在 Amazon 應用商店準備時的差異),需要深入研究應用的圖標創作。附錄B 涵蓋 了很多用戶界面相關的常見任務,這些任務值得了解但不一定普遍適用(比如自 定義view 屬性)。 本書自始至終將重點放在簡單和清晰的實現方式上。你不必擔心會埋頭苦干于類 似OpenGL 中3D 矩陣變換之類的復雜話題。相反,你會學到如何創建流暢的動畫, 將PorterDuff 混合模式添加到自定義view,以及有效地與觸摸事件工作。涉及到 的極少的數學知識將被拆解,變得極為簡單,以至于你幾乎意識不到會用上數學 知識。另外,圖例讓最復雜的例子變得格外清楚,并且每個例子都很實用。 如何使用本書 在深入更具體、更高級的主題之前,本書以一個極寬泛的概述開始。因此希望你 按章節順序閱讀,但本書被組織得盡量簡單。即使你是一個高級開發者,閱讀所 有的章節也是個不錯的主意,因為本書涉及了眾多領域。當然,也可以直接跳到 你最感興趣的主題。例如,如果你只想關注創建自定義view,請直接跳到第12 章, 開發完全自定義的view。 書示例的源代碼。在這些網站中,你可以復制整個資源庫、下載完整的ZIP 文件, 還可以瀏覽個人文件。 本書約定 本書使用了在大多數編程書中都可以找到的典型示例。例如,代碼術語(例如類 的名稱和關鍵詞)用等寬(monospace)字體顯示。當某類被專門指代(例如,“你 的類應擴展了View 類”),則用英文monospace 字體。如果它經常使用(例如,“當 開發一個view 時,記得在一個真機上測試”),則不會用到專門的字體。 有時當一行編碼太長而不能在本書中打印成一行時,會用一種代碼的連續箭頭 (?)表示連續。 有時你還會看到一些展示有用信息的旁白,它沒有被寫入正文中。 注意 像這樣的注意是為了提供你也許認為有用的其他信息,作為 書中的補充材料。 提示 提示就像這樣,在具體的話題中給你建議。 警告 潛在數據丟失或安全問題 警告就像這樣,目的是要你注意到 可能遇到的潛在問題或應該留意的點。 |
內容簡介:本書以木工工具應用為例,演示如何確定產品目標,接著利用現有視圖等要素從零開始搭建整個應用,然后使用高級功能進一步優化代碼及資源,以達到“精心設計”的目的。另外,本書附錄提供了應用推廣所需物料等細節。全書內容覆蓋面廣,結構合理,涵蓋產品經理、設計人員、開發工程師及市場推廣人員所需的基礎理論、實戰技巧和精彩案例,適合但不限于以上人群閱讀。 |
目錄:序 XVII 第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 庫 74 注解支持庫 74 小結 74 第4章 添加應用的圖形和資源 77 Android中資源的介紹 78 資源限定符 78 理解密度 83 可支持的圖片文件 84 柵格圖片 85 矢量圖片 86 9-patch圖片 86 XML可繪制對象 88 Layer List 89 State List 90 Level List 93 其他資源 103 Strings 104 數組 105 顏色 106 尺寸 107 動畫 107 ID 107 菜單 108 小結 109 第2 部分 完整的設計和開發過程 第5章 開始一個新的應用 111 設計方法 112 常用方法 112 以用戶為中心的設計 112 確定目標 115 用戶目標 116 用戶模型 117 產品目標 117 設備和配置支持 118 概要流程圖 119 線框圖 122 從導航開始 125 接著進入內容模塊 128 詳情頁面的線框圖 130 支持多種設備 132 命名慣例 132 原始資源 134 小結 135 第6章 原型和開發應用基礎 137 組織為Activity和Fragment 138 創建第一個原型 139 Tab 140 抽屜導航(Navigation Drawer) 142 Tool 展示 145 Tab Fragment 151 Tool Details 165 評估第一個原型 170 與用戶一起工作 171 完全開放 171 明確目標 172 動態目標 172 真實的用戶反饋 172 下一步 175 小結 176 第7章 設計視覺效果 177 線框和圖形設計 178 工具 178 風格 179 擬物設計 179 極簡設計 180 扁平化設計 180 Material Design 181 光源 181 顏色 182 相關科學 182 選擇顏色 185 木工應用 189 文本注意事項 189 文本對比 190 文字尺寸、樣式和大寫 191 文本間距 191 文本陰影 192 自定義字體 192 易懂的用語 194 其他注意事項 194 變化的文本長度 194 圖片的有效性和尺寸 195 透明度和3× 規則 195 標準圖標 196 導航和過渡 196 錯誤情況 196 設計步驟 197 小結 201 第8章 實現設計方案 203 和設計師一起工作 204 切出圖形資產 205 簡單切圖 205 9-patch 圖片 207 生成可替代尺寸 210 主題和樣式 211 把comps拆為多個view 212 開發木工應用 213 主屏幕 214 工具列表 224 工具詳情 238 多種設備上的基本測試 242 小結 243 第9章 用動畫出彩 245 動畫的目的 246 view動畫(View Animation ) 246 屬性動畫(Property Animation) 247 控制Property Animation 249 監聽器 249 類型Evaluator 250 Time Interpolator 253 關鍵幀 255 ViewPropertyAnimator 256 錯誤提示動畫 256 動畫圖標 261 制作矢量圖標動畫 261 動畫化柵格圖標 266 簡單的轉場 267 屏幕轉場 268 Activity 轉場 272 圓形顯現過渡 276 總結 279 第3 部分 Android 用戶界面的高級應用篇 第10章 使用高級技巧 281 識別Jank 282 用Systrace理解Jank 283 優化圖片 290 壓縮圖片 290 使用正確的大小 292 使用圖片緩存 296 額外的性能提高 302 控制垃圾回收 302 View Holder 模式 303 消除過度繪制 306 Hierarchy Viewer 309 找到丟失的view 312 消除不必要的view 312 導出為PSD 文件 312 自定義字體 313 復雜的TextView 316 存在的Span 316 復雜文本的Spans 使用 318 RecyclerView 320 布局管理器 321 適配器 321 條目Animator 322 條目裝飾 322 總結 322 第11章 處理Canvas和高級繪制 325 創作自定義Drawable 326 基本概念 326 其他的重要方法 327 Paint 327 Canvas 328 處理文本 328 一個簡單的文本Drawable 328 更好的Text Drawable 331 處理圖片 333 色彩過濾器 336 Lighting Color Filter 336 色彩矩陣 337 PorterDuff 圖片合成 338 著色器 349 圓形圖片 349 漸變淡化 352 總結 355 第12章 開發自定義view 357 基本概念 358 測量 358 布局 359 繪制 360 保存和恢復狀態 360 創建一個自定義View 361 測量 363 處理布局Layout 364 建立Bitmap 365 保存和恢復狀態 367 總結 375 第13章 處理輸入和滾動 377 觸碰輸入 378 其他形式的輸入 379 創建一個自定義View 380 創建初始自定義View 文件 380 測量 386 繪制 390 準備觸碰輸入 395 處理觸碰輸入 399 其他注意事項 416 總結 417 附錄A Google Play資源文件 419 附錄B 常用任務參考 437 |
序: |