Jatpack Compose入門筆記(Day1)

學(xué)習(xí)源:https://www.bilibili.com/video/BV1ob4y1a7ad?p=4&vd_source=d61ce9acf622a878da40ae7bdecdaad9
(前期筆記粗糙,后期維護)

Compose是什么?

用于構(gòu)建Android界面的新工具包,簡化并加快Android界面開發(fā),用更好的代碼,強大的工具,直觀的Kotlin Api打造精彩的應(yīng)用。

優(yōu)勢:
通過組件化,使代碼簡潔易于維護,避免更多bug。
直觀,通過state,只描述界面,應(yīng)用狀態(tài)變化時,界面自動更新
加快應(yīng)用開發(fā),兼容現(xiàn)有代碼,xml布局,可預(yù)覽。
功能強大,Material design更強大的支持。

Compose是圍繞可組合函數(shù)構(gòu)建的,描述應(yīng)用數(shù)據(jù)的外觀并提供數(shù)據(jù)依賴項,不必關(guān)注界面的構(gòu)建過程。
要創(chuàng)建可組合函數(shù),將@compose注解添加到函數(shù)名稱中。


image.png

布局

構(gòu)建界面層次結(jié)構(gòu)

使用column垂直排列元素,row水平排列項,box堆疊元素


image.png

配置布局

裝飾和配置可組合項,compose可使用修飾符,modifier


image.png

material design

material design圍繞三大元素構(gòu)建:顏色,排版,形狀
深色主題


image.png

列表和動畫

image.png

image.png

當(dāng)界面重繪時,局部變量不能夠保存,故通過by remember開辟私有空間(隸屬于compose函數(shù),專門保存內(nèi)部變量),通過by委托,監(jiān)控變化。


image.png

動畫

image.png

通過by animateColorAsState,可漸變


image.png

為什么要使用compose,能帶來什么好處

Compose可解決的問題

編寫可維護代碼的時候,減少耦合,增加內(nèi)聚
盡可能將相關(guān)代碼組合起來,以便輕松維護,關(guān)注點分離


image.png

image.png

image.png

image.png

image.png

聲明式UI

與命令式相反


image.png

image.png

聲明式UI的含義

只描述UI,不關(guān)心如何轉(zhuǎn)換到對應(yīng)的狀態(tài)

組合和繼承

image.png

image.png

image.png

image.png

image.png

image.png

image.png

重組

image.png

重組指的是composable函數(shù)在任何時候都可以被重新調(diào)用,當(dāng)層級中某一部分改變。不需要重新計算整個層次結(jié)構(gòu)


image.png

小結(jié):

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容