|
Jetpack Compose:Android全新UI編程
|
|
|
|
|
|
|
|
|
ISBN |
9787115573223 |
定价 |
RMB99.80 |
售价 |
RM109.80 |
优惠价 |
RM76.86 * (-30%)
|
作者 |
朱江
|
出版社 |
人民郵電出版社
|
出版日期 |
2021-10-01 |
装订 |
平裝. 單色印刷. 290 页. 26. |
库存量 |
購買後立即進貨 下单时可选择“空运”或“海运”(空运和海运需独立下单)。空运费每本书/CD是RM28.00。 空运需时8-11个工作天,海运需时约30个工作天。 (以上预计时间不包括出版社调货的时间以及尚未出版的预购商品) 库存有限或需要调货,订购时间可能延长。如无法订购则将通知进行退款。 |
|
我要订购 有现货时通知我 |
|
放入下次购买清单 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jetpack Compose是Google官方推出的用於構建原生介面的現代Android工具包,能夠幫助開發者用更少的代碼實現更多功能,輕鬆地構建精美且易於維護的高性能應用程式。
本書系統、細緻地講解了Compose,“手把手”教開發者如何在實際專案中使用Compose。首先介紹了如何搭建Compose的開發環境,以及編寫第一個Hello World程式,然後介紹了Compose的各類簡單或複雜的控制項、佈局、視圖,接著介紹了Compose中的動畫和手勢操作以及如何與其他Jetpack庫搭配使用,最後帶領讀者從頭到尾完整地開發一個簡單的專案。 |
|
|
|
|
|
|
|
|
|
|
|
購買中國簡體書籍請注意:
1. 因裝幀品質及貨運條件未臻完善,中國簡體書可能有出現磨痕、凹痕、折痕等問題,故簡體字館除封面破損、內頁脫落、缺頁等較嚴重的狀態外,其餘所有商品將正常出貨。
|
|
|
|
|
|
|
|
|
目錄
前言
第1章先做好準備工作1
1.1Compose簡介1
1.2搭建開發環境2
1.2.1在Windows上搭建開發環境2
1.2.2在macOS上搭建開發環境8
1.2.3將Compose添加到現有專案9
1.3溫習Kotlin10
1.3.1默認參數11
1.3.2高階函數11
1.3.3解構數據類12
1.4小結13
第2章開啟Compose旅程14
2.1創建第一個Compose應用程式14
2.1.1創建HelloWorld14
2.1.2運行項目17
2.1.3分析第一個Compose應用程式18
2.1.4使用Preview20
2.2Compose程式設計思想22
2.2.1聲明式程式設計22
2.2.2可組合函數22
2.2.3重組23
2.3智能重組24
2.3.1控制項按任何循序執行24
2.3.2控制項並行運行24
2.3.3重組會跳過盡可能多的內容26
2.3.4重組是樂觀的操作26
2.4Compose狀態27
2.4.1Compose中的狀態27
2.4.2ViewModel和狀態29
2.4.3使用其他類型的狀態30
2.5Compose生命週期31
2.5.1可組合項的生命週期31
2.5.2狀態和效應用例32
2.5.3重啟效應34
2.6小結35
第3章使用Compose的簡單控制項36
3.1Compose中的主題36
3.1.1主題設置36
3.1.2Color設置37
3.1.3字體設置40
3.1.4Shape設置42
3.2Compose中的“TextView”43
3.2.1顯示文字43
3.2.2設置文字樣式46
3.2.3設置文字選擇58
3.3Compose中的“EditText”61
3.3.1輸入文字61
3.3.2顯示樣式64
3.3.3鍵盤選項66
3.4Compose中的“Button”71
3.4.1創建Button72
3.4.2Button源碼解析72
3.5Compose中的“ImageView”77
3.5.1簡單顯示77
3.5.2設置圖片樣式79
3.5.3顯示網路圖片82
3.6Compose中的“ProgressBar”84
3.6.1使用圓形進度條84
3.6.2使用條形進度條87
3.7小結90
第4章瞭解Compose的佈局91
4.1豎向線性佈局——Column91
4.1.1AndroidView中的豎向線性佈局92
4.1.2Compose中的豎向線性佈局93
4.1.3Column源碼解析94
4.2橫向線性佈局——Row99
4.2.1簡單上手100
4.2.2Row源碼解析101
4.3幀佈局——Box102
4.3.1Box源碼解析102
4.3.2Box簡單上手103
4.4修飾符——Modifier105
4.4.1內邊距padding105
4.4.2設置控制項的尺寸107
4.4.3Row和Column中的weight修飾符108
4.4.4給控制項添加點擊事件109
4.4.5為控制項添加圓角109
4.5腳手架——Scaffold111
4.5.1簡單瞭解Scaffold111
4.5.2Scaffold抽屜實現113
4.6約束佈局——ConstraintLayout114
4.7小結116
第5章嘗試Compose的複雜控制項117
5.1豎向列表LazyColumn117
5.1.1簡單使用117
5.1.2LazyListScope119
5.1.3多Type使用122
5.1.4粘性標題124
5.1.5回到頂部128
5.2橫向列表LazyRow129
5.2.1簡單使用129
5.2.2LazyRow源碼解析129
5.2.3使用項鍵Key130
5.3網格列表LazyVerticalGrid131
5.3.1簡單使用131
5.3.2LazyVerticalGrid源碼解析132
5.4底部巡覽列136
5.4.1簡單使用136
5.4.2BottomNavigation源碼解析138
5.5小結140
第6章嘗試Compose的自訂View141
6.1簡單認識Compose中的Canvas141
6.1.1AndroidView中的Canvas141
6.1.2Compose中的Canvas142
6.2使用Canvas繪製點143
6.2.1繪製點必須填寫的參數143
6.2.2繪製點可選的參數146
6.2.3使用Brush繪製漸變149
6.3使用Canvas繪製線和矩形153
6.3.1繪製線153
6.3.2繪製矩形155
6.3.3繪製圓角矩形158
6.4使用Canvas繪製圓及橢圓159
6.4.1繪製圓160
6.4.2繪製橢圓161
6.5使用Canvas繪製圓弧、圖片及Path163
6.5.1繪製圓弧163
6.5.2繪製圖片166
6.5.3繪製Path168
6.6使用混合模式172
6.6.1AndroidView中的混合模式173
6.6.1Compose中的混合模式173
6.7小結175
第7章動畫的點點滴滴176
7.1簡單使用動畫176
7.1.1可見性動畫176
7.1.2佈局大小動畫181
7.1.3佈局切換動畫183
7.2低級別動畫185
7.2.1屬性動畫185
7.2.2幀動畫187
7.2.3多動畫同步188
7.2.4多動畫重複191
7.3自訂動畫192
7.3.1動畫規格——AnimationSpec192
7.3.2向量動畫——AnimationVector195
7.4Compose中的手勢196
7.4.1Compose中的點擊事件196
7.4.2Compose中的滾動事件198
7.4.3Compose中的嵌套滾動200
7.4.4拖動事件202
7.4.5滑動事件204
7.5小結206
第8章和其他Jetpack庫搭配使用207
8.1使用ViewModel207
8.1.1ViewModel的簡單使用207
8.1.2在Compose中使用ViewModel211
8.1.3Compose中ViewModel的進階使用213
8.2使用資料流程216
8.2.1Flow的使用216
8.2.2RxJava的使用217
8.3使用Navigation實現頁面跳轉218
8.3.1簡單使用218
8.3.2傳遞單個參數221
8.3.3傳遞多個參數223
8.3.4解析參數類型225
8.3.5添加可選參數227
8.3.6添加實體類參數229
8.4使用Jetpack中的其他庫231
8.4.1使用Hilt進行依賴注入231
8.4.2使用Paging進行列表載入232
8.5小結234
第9章和老代碼搭配使用235
9.1在Compose中使用AndroidView235
9.1.1簡單控制項的使用235
9.1.2複雜控制項使用237
9.1.3嵌入XML佈局240
9.2在AndroidView中使用Compose243
9.2.1在代碼中使用243
9.2.2在佈局中使用246
9.3Compose與現有頁面集成248
9.3.1創建AndroidView和Compose中通用的控制項248
9.3.2Compose中的螢幕適配251
9.4小結254
第10章Compose實戰——玩Android255
10.1搭建項目框架255
10.1.1創建項目255
10.1.2搭建項目架構257
10.1.3使用Navigation處理頁面跳轉258
10.1.4使用BottomNavigation創建主頁框架260
10.2實現項目首頁262
10.2.1實現首頁邏輯層263
10.2.2實現首頁UI層269
10.3實現專案頁面277
10.3.1實現專案頁面的邏輯層278
10.3.2實現專案頁面的UI層281
10.4實現其他頁面284
10.4.1實現文章詳情頁面284
10.4.2實現我的頁面287
10.5小結290 |
|
|
|
|
|
|
|
|
|
|
|