Jetpack Compose:安卓UI開發新技能,掌握這個領先一大步
Jetpack Compose是什麼?
Jetpack Compose 是安卓用於構建UI的一種新方式,採用程式碼而非xml檔案方式,寫法與Flutter非常相似。
官方主頁: https://developer.android.google.cn/jetpack/compose
官方入門指導: https://developer.android.google.cn/jetpack/compose/tutorial
約束條件
- Android Studio: 4.0及以上
- 支援安卓版本:Android API 21(即5.0)及以上
- 必須使用kotlin語言
優點
- 程式碼更少 少了xml,少了activity和xml之間的關聯.
- 雙向繫結 資料變化了,UI就自動變化.
缺點
- 含有引數的Composable函式不能直接預覽.
- Composable函式必須新增@Preview註解才能預覽.
- 程式碼修改後,需要重新編譯才能預覽.
- 目前還不完善,相比於Flutter,還處於幼兒園水平.
- 相比於xml畫頁面佈局,效率會有降低.
常見控制元件使用樣例
- 文字顯示
Text(text = "眾鳥高飛盡,孤雲獨去閒。相看兩不厭,只有敬亭山。")
- 文字輸入框
val state = +state { "Text Field to input" }TextField( value = state.value, onValueChange = { state.value = it })
- 按鈕
Button(text = "咬我啊", onClick = { Log.v("test", "被咬了") })
4.彈出框
MaterialTheme { Column { val openDialog = +state { false } Button("Click me", onClick = { openDialog.value = true }) if (openDialog.value) { AlertDialog( onCloseRequest = { openDialog.value = false }, title = { Text(text = "Alert Dialog Title") }, text = { Text("Alert Dialog content") }, confirmButton = { Button( "Confirm", onClick = { openDialog.value = false }) }, dismissButton = { Button( "Cancel", onClick = { openDialog.value = false }) }, buttonLayout = AlertDialogButtonLayout.Stacked ) } } }
- 開關
MaterialTheme { val checkedState = +state { true } Switch( checked = checkedState.value, onCheckedChange = { checkedState.value = it } ) }
- 單選框
MaterialTheme { RadioButton(selected = true, onSelect = { } ) }
- 核取方塊
MaterialTheme { val checkedState = +state { true } Checkbox( checked = checkedState.value, onCheckedChange = { checkedState.value = it } ) }
- 單選框組
MaterialTheme { val radioOptions = listOf("A", "B", "C") val (selectedOption, onOptionSelected) = +state { radioOptions[0] } RadioGroup( options = radioOptions, selectedOption = selectedOption, onSelectedChange = onOptionSelected ) }
9.圖片
Container(modifier = Height(300.dp) wraps Expanded) { Clip(shape = RoundedCornerShape(4.dp)) { DrawImage(+imageResource(R.drawable.img_0)) } }
我們Android程式設計師,要學的東西有很多,要想不被環境淘汰就只有不斷提升自己,從來都是我們去適應環境,而不是環境來適應我們!
附上我的Android核心技術學習大綱,獲取相關內容來我的GitHub一起玩耍:
vx:xx13414521
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952849/viewspace-2678344/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 作為一名安卓開發人員,怎麼快速掌握熱門技術?!Jetpack Compose+鴻蒙入門指南安卓Jetpack鴻蒙
- 深入詳解 Jetpack Compose | 優化 UI 構建Jetpack優化UI
- 想摸魚嗎?先掌握這 19 個 css 技巧!CSS
- Jetpack Compose - AnimatedVisibilityJetpack
- Jetpack Compose - ConstraintLayoutJetpackAI
- Jetpack Compose(4)——重組Jetpack
- 深度解析 Jetpack Compose 佈局Jetpack
- Jetpack Compose(3) —— 狀態管理Jetpack
- Jetpack之Startup快速掌握Jetpack
- 乘風破浪,遇見Android Jetpack之Compose宣告式UI開發工具包,逐漸大一統的原生UI繪製體系AndroidJetpackUI
- Android Jetpack Compose 引入示例工程AndroidJetpack
- Jetpack Compose(7)——觸控反饋Jetpack
- Jetpack Compose(8)——巢狀滾動Jetpack巢狀
- 怎麼掌握安卓中高階開發面試知識點?快取重點都在這!安卓面試快取
- Jetpack Compose for Desktop第三個里程碑版本釋出Jetpack
- Jetpack Compose for Desktop第二個里程碑版本釋出Jetpack
- Jetpack Compose for Desktop第一個里程碑版本釋出Jetpack
- Jetpack Compose的Modifier順序問題Jetpack
- 扒一扒 Jetpack Compose 實現原理Jetpack
- Jetpack Compose 中如何實現全面屏Jetpack
- 沒頭沒尾--專案開發筆記:先開發UI層還是先開發BusinessRules層!!?? (轉)筆記UI
- Jetpack Compose學習(1)——從登入頁開始入門Jetpack
- 如何快速掌握一個ui框架UI框架
- Jetpack Compose學習(2)——文字(Text)的使用Jetpack
- 高效動畫實現原理-Jetpack Compose 初探索動畫Jetpack
- 多虧了這篇文章,我的開發效率遠遠領先於我的同事
- 如何在 WindowManager.addView 中使用 Jetpack ComposeViewJetpack
- Jetpack Compose 1.1 現已進入穩定版!Jetpack
- Jetpack Compose學習(6)——關於Modifier的妙用Jetpack
- 輕輕鬆鬆帶你入門Android Jetpack(含Jetpack Compose),容易肝不難!AndroidJetpack
- Jetpack Compose 重磅更新!最全的新元件上手指南!Jetpack元件
- Jetpack Compose(5)——生命週期與副作用函式Jetpack函式
- 雲開發資料庫又增新技能!資料庫
- 掌握jQuery外掛開發,這篇文章就夠了jQuery
- Jetpack Compose學習(10)——使用Compose物料清單BOM,更好管理依賴版本Jetpack
- 給蘋果表做APP?先避開這五個坑蘋果APP
- 給蘋果表做 app?先避開這五個坑蘋果APP
- 提高生產力!這10個Lambda表示式必須掌握,開發效率嘎嘎上升!