作 者:(美)華萊士·傑克遜 著 周建娟 譯
定 價:149
出 版 社:清華大學出版社
出版日期:2022年02月01日
頁 數:580
裝 幀:平裝
ISBN:9787302597582
"《Android高級圖形程序設計》深入研究了與設備無關的像素圖形設計、Android UI布局、Android UI小部件設計、高級ImageView圖形設計、創建自定義多狀態ImageButton、使用9-Patch技術創建可擴展件、使用Android PorterDuff類實現高級圖像混合、使用LayerDrawable類實現高級圖像合成、使用TransitionDrawable類實現數字圖像切換、使用AnimationDrawable類創建基於幀的動畫、使用Animation類創等
●第1章 Android數字圖像:格式、概念和優化
1.1 Android的數字圖像格式:無損與有損
1.2 Android View和ViewGroup類:圖像容器
1.3 數字圖像的基礎:像素和寬高比
1.4 數字圖像的色彩:顏色理論和顏色深度
1.5 在Android中表示顏色:十六進制表示法
1.6 圖像合成:Alpha通道和混合模式
1.7 數字圖像蒙版:Alpha通道的流行用法
1.8 使蒙版邊緣更平滑:抗鋸齒的概念
1.9 優化數字圖像:壓縮和抖動
1.10 下載Android開發環境:Java和ADT
1.11 安裝和更新Android Developer ADT
1.12 小結
第2章 Android數字視頻:格式、概念和優化
2.1 Android數字視頻格式:MPEG-4 H.264和WebM(VP8)
2.2 Android VideoView和MediaPlayer類:視頻播放器
2.3 數字視頻的基礎:運動、幀和FPS
2.4 數字視頻約定:比特率、流、標清和高清
2.5 Android的數字視頻文件:分辨率密度目標
2.6 優化數字視頻:編解碼器和壓縮
2.7 在Eclipse ADT中創建Pro Android Graphics應用程序
2.8 創建視頻啟動屏幕的用戶界面設計
2.9 認識MainActivity.java Activity子類
2.10 創建視頻資產:使用Terragen 3 3D軟件
2.11 創建未壓縮的視頻:使用VirtualDub軟件
2.12 壓縮視頻資產:使用Sorenson Squeeze
2.13 在Android中安裝視頻資產:使用raw文件夾
2.14 在Android應用程序中引用視頻資產
2.15 小結
第3章 Android幀動畫:XML、概念和優化
3.1 幀動畫的概念:幀、幀速率和分辨率
3.2 優化幀動畫:顏色深度和幀速率
3.3 使用XML標記在Android中創建幀動畫
3.4 Android 標記:父幀容器
3.5 Android的標記:指定動畫幀
3.6 為GraphicsDesign App創建幀動畫
3.7 復制分辨率密度目標幀
3.8 使用XML創建幀動畫定義
3.9 在ImageView中引用幀動畫定義
3.10 使用Java實例化幀動畫定義
3.11 小結
第4章 Android程序動畫:XML、概念和優化
4.1 程序動畫概念:補間動畫和插值器
4.2 程序動畫數據值:範圍和中心點
4.3 程序動畫變換:旋轉、縮放、平移
4.4 程序動畫合成:Alpha混合
4.5 程序動畫計時:使用持續時間和偏移量
4.6 程序動畫循環:RepeatCount和RepeatMode
4.7 標記:使用XML對程序動畫進行分組
4.8 程序動畫與幀動畫:權衡
4.9 在GraphicsDesign應用中創建程序動畫的構思
4.10 使用XML創建程序動畫定義
4.11 在MainActivity.java中實例化Animation對像
4.12 使用創建更復雜的程序動畫
4.13 旋轉變換:復雜的動畫集
4.14 調整變換值:輕松調整XML
4.15 小結
第5章 Android DIP:與設備無關的像素圖形設計
5.1 Android支持設備顯示的方式:UI設計和用戶體驗
5.2 設備顯示概念:尺寸、密度、方向、DIP
5.3 與密度無關:創建相似的用戶體驗
5.4 通過標簽支持Android多屏
5.5 提供針對設備優化的用戶界面布局設計
5.5.1 使用Android的smallestWidth屏幕配置修飾符
5.5.2 使用可用屏幕寬度修飾符
5.5.3 使用可用屏幕高度修飾符
5.6 提供針對設備優化的圖像可繪制資產
5.7 DisplayMetrics類:大小、密度和字體縮放
5.8 優化Android應用程序圖標
5.9 在正確的密度文件夾中安裝新的應用程序圖標
5.10 為自定義應用程序圖標配置AndroidManifest.xml
5.11 在Nexus One上測試新的應用程序圖標和標簽
5.12 小結
第6章 Android UI布局:使用ViewGroup類進行圖形設計
6.1 Android ViewGroup超類:布局基礎
6.2 ViewGroup LayoutParams類:布局參數
6.3 不推薦使用的布局:AbsoluteLayout和SlidingDrawer
6.4 Android的實驗性布局:SlidingPaneLayout
6.5 Android RelativeLayout類:設計相對布局
6.6 Android LinearLayout類:設計線性布局
6.7 Android FrameLayout類:設計幀布局
6.8 Android GridLayout類:設計網格布局
6.9 DrawerLayout類:設計抽屜布局
6.10 添加菜單項以訪問UI布局容器
6.11 創建目錄活動
6.12 創建XML目錄線性布局設計
6.13 將文本UI小部件添加到TOC UI布局容器
6.14 使用onOptionsItemSelected()方法添加菜單功能
6.15 在Nexus One上測試目錄活動
6.16 小結
第7章 Android UI小部件:使用View類進行圖形設計
7.1 Android View類:UI小部件的基礎
7.2 View對像的基本屬性:ID、布局定位和大小
7.3 View對像的定位特征:邊距和填充
7.4 View對像的圖形屬性:背景、Alpha和可見性
7.5 View對像的功能特征:偵聽器和焦點
7.6 創建書簽工具UI:使用RelativeLayout和TextView
7.7 使用ImageView小部件:圖形的基石
7.8 在Nexus One橫向模式下測試UI設計
7.9 給ImageView圖像資產添加陰影效果
7.10 更改ImageView XML以合並新資產
7.11 在RelativeLayout中合成背景圖像
7.12 小結
第8章 高級ImageView圖形設計
8.1 Android中的圖形:ImageView類的起源
8.2 ImageView.ScaleType嵌套類:縮放控件
8.3 使用AdjustViewBounds
8.4 maxWidth和maxHeight:控制AdjustViewBounds
8.5 在ImageView中設置基線並控制對齊方式
8.6 使用CropToPadding方法裁剪ImageView
8.7 給ImageView著色和使用PorterDuff混合顏色
8.8 將色調應用於SkyCloud圖像以改善陰影對比度
8.9 使用CropToPadding裁剪SkyCloud圖像資產
8.10 更改ImageView的基線對齊索引
8.11 執行圖像縮放:邊距和填充屬性
8.12 小結
第9章 高級ImageButton:創建自定義多狀態ImageButton
9.1 Android中的按鈕圖形:ImageButton類概述
9.2 ImageButton的狀態:正常、按下、焦點和懸停
9.3 ImageButton可繪制資產:合成按鈕狀態
9.4 可繪制的ImageButton:設置多狀態XML
9.5 創建所有ImageButton狀態資產:密度分辨率
9.6 將ImageButton縮放到素匹配的大小
9.7 小結
第10章 使用9-Patch技術創建可擴展件
10.1 Android NinePatchDrawable類:NinePatch的基礎
10.2 關於9-Patch
10.3 Android NinePatch類:創建NinePatch資產
10.4 Draw 9-patch工具:創建NinePatchDrawable資產
10.5 使用XML標記實現NinePatch資產
10.6 小結
第11章 高級圖像混合:使用Android PorterDuff類
11.1 像素混合:使圖像合成更上一層樓
11.2 Android的PorterDuff類:混合的基礎
11.3 PorterDuff.Mode類:Android混合常量
11.4 PorterDuffColorFilter類:混合ColorFilter
11.5 使用PorterDuff將ColorFilter效果應用於圖像資產
11.6 PorterDuffXfermode類:應用混合常量
11.7 Paint類:將混合常量應用於圖像
11.8 使用Bitmap類在圖像之間應用PorterDuff
11.9 使用.setXfermode()方法應用PorterDuffXfermode
11.10 Canvas類:為合成創建畫布
11.11 用XML和Java創建ImageView以顯示畫布
11.12 通過.setBitmapImage()方法將Canvas寫入ImageView
11.13 小結
第12章 高級圖像合成:使用LayerDrawable類
12.1 LayerDrawable對像:將圖像合成提升到新的水平
12.2 Android的LayerDrawable類:圖層的基礎
12.3 父標簽:使用XML設置層
12.4 為PorterDuff合成實例化LayerDrawable
12.5 創建一個Drawable對像以容納LayerDrawable資產
12.6 將Drawable轉換為BitmapDrawable並提取位圖
12.7 修改PorterDuff管線以使用LayerDrawable
12.8 切換LayerDrawable圖像資產:從源到目標
12.9 更改管線中使用的LayerDrawable圖層
12.10 練習:使用兩個LayerDrawable資產
12.11 關於Android中數字圖像合成的一些意見和建議
12.12 小結
第13章 數字圖像切換:使用TransitionDrawable類
13.1 切換:混合圖像以創建運動幻覺
13.2 Android的TransitionDrawable類:切換引擎
13.3 父標簽:在XML中設置切換
13.4 實例化ImageButton和TransitionDrawable對像
13.5 使用.reverseTransition()方法進行乒乓切換
13.6 通過ImageView進行高級TransitionDrawable合成
13.7 小結
第14章 基於幀的動畫:使用AnimationDrawable類
14.1 AnimationDrawable類:幀動畫引擎
14.2 關於DrawableContainer類
14.3 使用Java創建AnimationDrawable啟動畫面
14.4 使用Android Runnable類運行動畫
14.5 為動畫創建setUpAnimation()方法
14.6 創建一個新的AnimationDrawable對像並引用其幀
14.7 使用AnimationDrawable類的.addFrame()方法
14.8 使用.setOneShot()方法配置AnimationDrawable
14.9 使用Handler類調度AnimationDrawable
14.10 設計AnimationDrawable以循環回到第1幀
14.11 添加事件處理以允許通過單擊播放幀動畫
14.12 小結
第15章 程序動畫:使用Animation類
15.1 關於Animation類:程序動畫引擎
15.2 關於TranslateAnimation類:用於移動的Animation子類
15.3 關於ScaleAnimation類:用於縮放的Animation子類
15.4 放大徽標:使用ScaleAnimation類
15.5 AlphaAnimation類:用於混合的Animation子類
15.6 制作PAG徽標淡入效果:使用AlphaAnimation類
15.7 AnimationSet類:創建復雜的動畫集
15.8 為PAG徽標動畫創建AnimationSet
15.9 RotateAnimation類:用於旋轉的Animation子類
15.10 旋轉PAG徽標:使用RotateAnimation類
15.11 使用Android Runnable類運行AnimationSet
15.12 為AnimationSet創建一個TranslateAnimation對像
15.13 小結
第16章 高級圖形:掌握Drawable類
16.1 Android Drawable資源:Drawable對像的類型
16.2 創建ShapeDrawable對像:XML 父標簽
16.3 Android Drawable類詳解
16.4 創建自定義Drawable:ImageRoundingDrawable
16.5 創建用於繪制Drawable畫布的Paint對像
16.6 Android Shader超類:用於繪圖的紋理貼圖
16.7 Shader.TileMode嵌套類:Shader平鋪模式
16.8 BitmapShader類:使用位圖的紋理映射
16.9 為Drawable對像創建和配置BitmapShader
16.10 Android Rect和RectF類:定義繪圖區域
16.11 定義RectF對像並調用.drawRoundRect()方法
16.12 Java InputStream類:讀取原始數據流
16.13 小結
第17章 交互式繪圖:交互式使用Paint和Canvas類
17.1 Android onDraw()方法:在屏幕上繪圖
17.2 Android Canvas類:數字工匠的畫布
17.3 Android Paint類:數字工匠的畫筆
17.4 為SketchPad設置GraphicsDesign項目
17.5 創建自定義View類:SketchPadView類
17.6 Android Context類詳解
17.7 配置SketchPadView()構造函數方法
17.8 創建坐標類以跟蹤觸摸X和Y點
17.9 Java List實用工具類:獲取有序集合
17.10 Java ArrayList實用工具類:集合列表數組
17.11 創建一個ArrayList對像以保存觸摸點數據
17.12 實現.onDraw()方法:繪制畫布
17.13 創建OnTouchListener()方法:事件處理
17.14 Android MotionEvent類:Android中的移動數據
17.15 處理移動數據:使用.getX()和.getY()方法
17.16 編寫SketchPad Activity的代碼:使用SketchPadView
17.17 測試SketchPad Activity類:手寫PAG徽標
17.18 使用位圖源進行繪圖:實現InkShader
17.19 小結
……
第18章 使用VideoView和MediaPlayer類播放視頻
第19章 從外部媒體服務器流式傳輸數字視頻
《Android高級圖形程序設計》詳細闡述了與Android高級圖形程序設計相關的解決方案,主要包括Android數字圖像、Android數字視頻、Android幀動畫、Android程序動畫、Android DIP、Android UI布局、Android UI小部件、高級ImageView圖形設計、高級ImageButton、使用9-Patch技術創建可擴展件、高級圖像混合、高級圖像合成、數字圖像切換、基於幀的動畫、程序動畫、高級圖形、交互式繪圖、使用VideoView和MediaPlayer類播放視頻、從外部媒體服務器流式傳輸數字視頻等內容。此外,本書還提供了豐富的示例及代碼,以幫助讀者進一步理解相關方案的實現過程。本書適合作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學讀物和參考手冊。