精通 Android UI 設計 精通Android UI设计

[美]Wallace Jackson 著 盛青 譚春波

  • 出版商: 清華大學出版社
  • 出版日期: 2016-07-13
  • 定價: CNY $98.00
  • 售價: $588
  • 貴賓價: 9.5$559
  • 語言: 簡體中文
  • 頁數: 503
  • 裝訂: 平裝
  • ISBN: 7302425930
  • ISBN-13: 9787302425939

下單後立即進貨 (1週~2週)

買這商品的人也買了...

商品描述

<內容簡介>

《精通Android UI設計》詳細闡述了與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並更新ADT 10
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動起來:LayoutAnimationController 32
創建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 UI Widget 63
Eclipse ADT問題標籤:在ADT中調試XML錯誤65
相對位置:在層級中添加UI按鈕67
字符串常量:為UI按鈕添加<string>標籤69
事件處理器:使用Java代碼添加OnClickListener 70
控制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應用創建ContextMenu 120
ContextMenu文本常量:使用<string>標籤122
創建onCreateContextMenu()方法並擴展ContextMenu 123
使用registerForContextMenu()註冊ContextMenu 124
創建onContextItemSelected()方法處理MenuItem選項125
Android的PopupMenu類:UI Widget本地化菜單128
為UserInterface應用創建PopupMenu UI 129
使用XML標記定義PopupMenu MenuItem對象129
實例化用於PopupMenu的TextView UI Widget對象131
升級應用到支持API Level 11 132
在OnClickListener()內部實例化PopupMenu 134
在Android AVD Nexus One模擬器中測試PopupMenu 136
小結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 URL 319
實現媒體傳輸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資源:使用GIMP 2.8.10 334
創建多狀態ImageButtons:使用<selector>標籤339
創建LinearLayout UI設計:使用<LinearLayout> 341
填充LinearLayout UI設計:編寫LinearActivity 346
高級設計中的嵌套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菜單結構中添加RelativeLayout 362
將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應用中實現GridLayout 388
在UserInterface菜單結構中添加GridLayout 388
定義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應用的DrawerLayout Activity 417
定義DrawerLayout:創建UI抽屜的XML定義417
建立自己的DrawerActivity Java Activity子類419
添加ListView事件處理:實現UI功能425
為火星添加<string>常量:更多的行星信息428
添加抽屜自動縮回:closeDrawer()方法430
精細化DrawerActivity類中的DrawerLayout 431
修改每個ListView的ImageView和背景435
小結437
第16章Android SlidingPaneLayout類:在UI設計中使用滑動面板439
SlidingPaneLayout類:跨設備類型的UI設計439
SlidingPaneLayout類的層級結構440
SlidingPaneLayout類適用的最佳UI設計440
在SlidingPaneLayout中使用權重參數441
探索3個SlidingPaneLayout嵌套類442
在UserInterface應用中添加SlidingPaneLayout 442
定義SlidingPaneLayout:SlidingPane UI的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到PagerTabStrip UI設計494
轉換XML UI定義495
轉換Java UI定義495
渲染新的PagerTabStrip UI 497
為PagerTabStrip定義定製的顏色498
添加定製的數字圖像UI元素500
在PagerTabStrip UI設計中使用圖像合成501
小結503