Android用戶界面設計( 簡體 字) | |
作者:鄭磊 | 類別:1. -> 程式設計 -> 手機程式 -> Android 2. -> 程式設計 -> UI/UX |
出版社:電子工業出版社 | 3dWoo書號: 38458 詢問書籍請說出此書號! 有庫存 NT售價: 445 元 |
出版日:5/1/2014 | |
頁數:364 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121229091 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1部分 Android用戶界面基礎
第1章 Android用戶界面概覽 .............................. 1 Android設計簡史 ....................................... 2 Android設計站點 .......................................... 2 核心原則 ................................. 3 標準組件 .................................... 12 支持多種設備 ............................... 14 值得注意的變化 ................................. 16 小結 ............................................ 16 第2章 理解視圖——用戶界面的構架模塊 ............................... 17 什么是視圖? ............................. 18 顯示文本 ..................................................... 22 顯示圖片 ............................................. 26 聚集用戶輸入的視圖 ....................................... 29 其他值得關注的視圖 ............................. 32 事件的監聽 ............................................. 35 小結 ............................................ 36 第3章 用View Group與Fragment創建全布局 ..................... 37 ViewGroup .................................................... 38 Fragment ...................... 49 小結 ......................... 52 第4章 添加應用的圖形和資源 ..................................... 53 Android中資源的介紹 ...................................................... 54 資源限定符 ............. 54 理解密度 ................ 58 可支持的圖片文件 ........................ 59 9-Patch圖片 .. 60 XML可繪制對象 .. 62 其他資源 ............... 72 小結 ..................... 76 第2部分 完整的設計和開發過程 第5章 開始一個新的應用 .....77 確定目標 ..................78 概要流程圖 ................81 線框圖 .......................82 小結 .........................95 第6章 開發應用的基礎 .......96 組織為Activity和Fragment .............................................98 把線框拆成視圖 ...........106 創建主題和樣式 ....121 小結 .....................122 第7章 定稿設計方案 ........123 線框和圖形設計 ....124 應用的視覺樣式和個性 ....................................124 文本注意事項 ........132 標準圖標 .................137 動態內容注意事項 ..138 導航和過渡............139 錯誤情況 ................139 小結 ........................139 第8章 實現設計方案 ........141 和設計師一起工作 ................................142 切出圖形資產 .......143 更新主題和樣式 .....147 把comps拆為多個視圖 ......................149 提升效率 .................153 多種設備上的基本測試 ......................160 小結 ..........................................162 第9章 進一步優化應用 ....163 層級查看器 ...........164 動畫 .................170 自定義字體 ...........180 小結 ....................184 第3部分 Android用戶界面的高級主題 第10章 如何處理常用組件 ..185 閃屏 .......................186 加載指示 ..............196 復雜的TextView .....198 自動加載的ListView ........203 小結 ......................................................................208 第11章 為自定義組件而組合視圖 ..................................209 什么時候組合視圖 .......................210 組合視圖以實現其簡單協作 .............................210 完成一個多按鈕切換開關 ........................222 小結 .............241 第12章 開發完全自定義的視圖 ......................................243 常用概念 ..............244 開發自定義視圖 ......249 小結 .......................284 第13章 運用畫布和高級繪圖 ...............................................285 PorterDuff 圖片合成 .............................................286 創建自定義的Drawable ..................................305 小結 ......................310 第4部分 有益的指導和參考 附錄A Google Play物料 ......311 應用描述 ................312 修改記錄 ..............313 應用圖標 ...............313 屏幕截圖 ................314 主題圖片 ................315 推廣圖..............320 視頻(YouTube) ...320 推廣你的應用 ..........321 附錄B 亞馬遜應用商店物料 .......................................323 概述 ................324 應用圖標 .................324 屏幕截圖 ................325 推廣圖 ....................326 視頻 ....................327 附錄C 常用任務參考 ........329 在操作欄中顯示加載 .........................................330 撤銷軟鍵盤 ...........336 使用全屏模式 ........337 讓屏幕保持常亮 ....................................338 確定設備物理屏幕尺寸 ............................338 確定設備DPI ....................................339 檢查網絡連接 ..........340 檢查當前線程是否是UI線程 ........................340 自定義視圖屬性 ..................................341 本書回顧了Android系統簡史和最新Jelly Bean版本的特征,鼓勵開發人員開發更多的Android應用;在細致介紹開發基礎之后,以房地產應用為例,演示如何確定產品目標,接著利用現有視圖等要素從零開始搭建整個應用,然后使用高級功能進一步優化代碼及資源,以達到“精心設計”的目的。另外,本書附錄提供了應用推廣所需物料等細節。書中案例貫穿了眾多細致入微的技巧,有助于讀者學習設計、開發和測試流程。
本書贊譽
《Android用戶界面設計》是一本絕對優秀的圖書,出自一位經驗最豐富、知識最淵博的Android開發專家。對每一位Android開發者來說,它都是一份非常實用、高度易讀的指南和非常有效的幫助資源。本書的每一章對用戶界面設計都有清晰和深刻的理解。我極力推薦本書給那些希望開發Android應用高級用戶界面的人。 ——Kyungil Kim Facebook軟件工程師 我向所有獨自工作,并且想給他們的應用使用一個專業外觀界面的所有的Android開發者推薦這本書。這本書的內容相當精彩,覆蓋了如何設計優異Android應用的各個方面。 ——Gonzalo Benoffi Coffee and Cookies, Android開發部CEO 在移動應用開發開始之前,設計絕不是開發工作的一部分;而現在設計已經成為不可缺少的部分。本書介紹了一種簡單但有效的方式來設計你的應用。它對初學者來說很容易,對有經驗的開發者來說,內容也很豐富。對我來說,本書是我能推薦給任何一位Android開發者的最好的書。讀本書一遍,就會覆蓋你也許花三年時間來開發所學到的知識。我吃驚地看到,從設計線框開始設計的這部分內容是其他書所不能足夠清楚解釋的(有些甚至都沒有覆蓋到)。我真的太愛它了!感謝Ian為Android開發者團體作出的極大貢獻!這是一本最好的、簡單的、有效的書! ——Chakradhar Gavirineni Adeptpros IT Solutions Pvt Ltd Android應用開發者 對于設計、創建布局、渲染Android應用所需要了解的任何內容而言,Ian的這本書是一個無法估量的寶貴資源。“常用任務參考”是一個了不起的附錄,它使得這本書成為必備工具書。你要確保在你書桌的一臂之內有這本書。 ——Josh Schumacher HasOffers軟件工程師 從前面的幾頁看,這本書提供了豐富的開發Android用戶界面所需要的提示、訣竅和技巧。如果你正在了解所有不同的視圖類型,來讀這本書——它真正有助于強化理解你應該在什么時候和為什么用各種用戶界面組件達到不錯的效果(用已實現的例子)。對于正在尋找靈感來改進用戶界面以期達到一個優異用戶體驗的人來說,這本書值得一讀。 ——Rechard Sey PassBx Developers 本書贊譽V 前言 無論你是在2008年9月發布的第一臺設備之前就已經用上了Android SDK,還你剛完成了你的第一個“Hello, World”應用,你都很可能意識到Android的發展速度讓人難以置信。操作系統已經改變和成熟,應用也變得匹配適應。這意味著應用如果要更出色,就會比以前更具挑戰。創建一個“足夠好的”功能性的用戶界面已遠遠不夠了。各種競爭已經開始,現在那些低劣的用戶界面的應用以及那些基于其他操作系統敷衍了事的應用完全被用戶拋棄。Google已經承諾,在Android4.0 Ice Cream Sandwich版本中,設計主要用戶界面和修復可用性時,用戶會對他們的設備和下載的應用充滿期待。另外,Android 4.1額外的“Project Butter”工作和Android 4.2的持續改進,確保應用流暢和有效變得尤為重要。 設計有很多目標,但是最重要的兩點是可用性和視覺吸引力。你希望新用戶 能夠用上你的應用,而且可以不費力就開始,因為移動用戶相比其他任何平臺的用 戶要更沒有耐心。用戶需要確切地知道他們能與什么交互,而且在他們精力分散的 時候能立刻完成。那就意味著你必須知道平臺慣例是什么,以便利用獲取的行為。 你也想要你的應用出類拔萃,因為視覺吸引力能夠使用戶為你的應用興奮,而且 可以提升你的品牌。當它運轉不錯時,能顯示出一種高質量的品質,當你的用戶把應 用展示給他們的朋友時,會立即形成更大規模的用戶基礎。如果將你的應用比作一輛 小汽車,你可以將視覺外觀和可用性作為設計的要務。小汽車的外觀有少許靈活性, 僅局限于實用性和對于潛在客戶有用的需求。如果你進入一輛小汽車,卻沒有方向 盤,你會立刻四下觀望并想知道“我怎樣控制這個東西?”。應用也是如此,如果用 戶啟用應用但立馬被其操控所困擾,那它就沒能通過最基礎的可用性測試。 如果你已經拿起了這本書,我可能不必再說設計是何等重要。你已經擁有,你就會發誓一定能制作出漂亮的應用來。 這本書主要從一個開發者的視角來關注Android,也植入了大量的設計感悟。本書試圖在設計者和開發者之間的隔閡上架起橋梁,并且教你如何實施偉大的設計。我們不在這里深入關注色彩理論或者Photoshop技巧;我們在這里理解如何設計應用以及如何現實地讓應用活靈活現。當你讀完本書后,你將能夠把你的需求和 反饋與設計師進行交流,甚至自己做一些設計。 這本書將作為一個完整設計和實現流程的教程,也是你可以一遍遍重復使用的參考資料。為了能制作最好的應用,你將了解如何與開發者和設計師進行溝通。你會使應用視覺具有吸引力,同時,在最后關頭還能輕松改變不可避免的設計需求。 最終,設計師和開發者都希望他們的應用能讓人驚奇,我無比興奮地告訴你 如何讓驚喜發生。 ——Ian G. Clifton 致謝 盡管從拿起筆開始我就一直飽含熱誠地創作,但是如果沒有眾多他人的幫助,本書是不可能完成的。我要感謝責任編輯Laura Lewin,他讓我始終保持在正軌上,盡管在估計章節長度和努力程度上,我也許是最差的作者。編輯助理OliviaBasegio記錄著所有的進度,盡管有時進展較慢,有時快如閃電。Songlin Qiu是這本書的策劃編輯,他設法理解了我凌晨4點寫的草稿目錄,使得最終章節能夠大有提升。我非常感激所有技術評審們的工作;我曾經也做過這個工作,我知道它是多么大的工作量,感謝Joseph Annuzzi、Cameron Banga和Joshua Jamison。寫書絕對是一個全職的工作,對我來說,要平衡A.R.O.公司的全職工作、我的家庭(尤其是在節假日期間)和一些其他項目是很大的挑戰。特別感謝A.R.O.的 Andy Hickl,謝謝他的通融和對我寫書的支持,還有我所有其他的朋友和同事沒有 因為我寫書而抓狂,因為我在家上班,能節省上下班途中的時間,甚至通過停工來 保證本書章節按計劃完成。 當然,我還要感謝家人的支持。我的父母曾告訴我,隨著年齡的增長,我可以做任何事情。很顯然,我誤以為我不得不去做所有的事情。我從未停止讓自己學習更多,并且完成我曾經所想的,我感謝他們能夠信賴我。 關于作者 Ian G. Clifton是西雅圖A.R.O.的用戶體驗負責人,并且領導著Android開發團隊,在那里,他開發了Saga——一種了解你的Android和iOS應用,為了讓你以最少的溝通過最好的生活。在他的職業生涯中,他與很多設計師工作過,并且開發了一些著名的Android應用,例如,CNET News、CBS News、Survivor、Big Brother和Rick Steves’Audio Europe。 Ian喜愛科技、藝術和用戶體驗,這讓他走過許多不同的道路。除了Android開發,他還做過平臺、網絡和桌面的開發工作。他作為衛星、寬頻和遙測系統的短期員工供職于美國空軍,而且也用鉛筆、畫筆和相機創作了相當數量的藝術作品。 你可以在Twitter(http://twitter.com/IanGClifton)中收聽Ian G. Clifton,還可以關 注他的博客(http://blog.iangclifton.com)了解他關于移動開發的思想。他還發布 了名為The Essentials of Android Application Development(《Android應用開發的要 領》)的系列視頻,你可以訪問http://my.safaribooksonline.com/video/programming/ Android/9780132996594。 序言 本書讀者 這本書主要為那些想更好地理解Android用戶界面的Android開發者們準備的,但是它也重點介紹了設計,所以設計師們也能從中受益。為了聚焦在Android用戶界面設計重要的主題上,本書假定你已經對Android有一個基本了解。如果你希望學習開發方面的知識,這本書需要你至少制作了一個“Hello,Word”的Android應用,而且不必為開發而設定你的計算機(如果不是這樣,那么從Android開發者網站開始是一個好主意:http://developer.Android.com/ training/basics/firstapp/index.html)。如果你是一個設計師,你也許會發現一些 有編碼的例子很令人頭疼,但是這本書也會給設計師足夠有用的知識。例如,第13章“運用畫布和高級繪圖”,包含了PorterDuff組合這類概念的具體案例,盡管多數設計師都沒聽說過這些概念,而且也不關心其精確實現方式,但通常會在Photoshop之類的軟件中碰到,通常被簡單地稱為混合模式(例如,“正片疊底”和“變亮”)。通過查看圖片樣本和細節介紹,設計師們能夠理解Android的性能,以及指導開發者關注具體細節。 本書組織架構 本書分為四部分。第1部分“Android用戶界面基礎”,在讀者深入到創建 Android界面的具體類之前,提供了Android用戶界面的概要和趨勢。同時,這 部分也包括圖形和資源的使用。第2部分“完整的設計和開發過程”,反映了 應用開發的各個階段,始于想法和目標,繼而是完成框架和雛形,然后是開發 完整的應用,包括有效的布局、動畫等。第3部分“Android用戶界面的高級主 題”,探索讓應用更有用的方式,包括通過創建可自動更新的列表視圖、組合 視圖的自定義組件、全自定義視圖,以及如圖片合成的高級技巧。第4部分“有 益的指導和參考”,包括三個附錄:Google Play物料、亞馬遜應用商店物料, 以及眾多值得了解但并不普遍適用的常見的UI相關任務(類似如何使屏幕上的 導航元素變暗)。 從始至終的重點是簡單和清晰的實現方式。你不必擔心會埋頭苦干于類似在 OpenGL中3D矩陣變換之類的復雜話題;相反,你會學到如何創建流暢的動畫,將 PorterDuff混合模式添加到你的自定義視圖,以及與觸摸事件有效地工作。涉及極 少的數學知識將被拆解,變得極為簡單,以至于你幾乎意識不到會用到數學知識。 另外,圖例讓最復雜的例子變得清楚,而每個例子都很實用。 如何使用本書 在深入更具體、更高級的主題之前,本書以一個極寬泛的概述開始。因此, 按順序閱讀是本書的意圖,但本書被組織得盡可能讓指向簡單。即使你是一個高級 開發者,閱讀本書所有的章節還是不錯的,因為本書覆蓋了大量的內容。當然,你 也可以直接跳到你最感興趣的章節。例如,如果你只想關注創建自定義視圖,你可 以直接跳到第12章“開發完全自定義的視圖”。 本書站點 你可以在http://auidbook.com以及出版社的網站(www.informit.com/ title/9780321889736)找到本書例子的源代碼。在這些網站中,你可以復制整個資 源庫,下載完整的ZIP文件,以及瀏覽個人文件。 本書約定 本書使用了在大多數編程書中都可以找到的典型慣例。例如,代碼術語(例 如類的名稱和關鍵詞)用等寬(monospace)字體顯示。當某類被專門指代(例 如,“你的類應擴展了View類”),則用英文monospace字體。如果它被更多地用 到(例如,“當開發一個視圖時,記得在一個真機上測試”),則不會用到專門的 字體。 當一行編碼太長而不能在本書中打印成一行時,用一種代碼的連續箭頭 ()表示連續。 注意 像這樣的注意是為了用你也許認為有用的其他信息作為書中的補充 材料。 提示 提示就像這樣,在具體的話題中給你建議。 警告 警告就像這樣,目的是要你注意到可能遇到的潛在問題或應該留意 的點。 |