學(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ù)名稱中。

布局
構(gòu)建界面層次結(jié)構(gòu)
使用column垂直排列元素,row水平排列項,box堆疊元素

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

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

列表和動畫


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

動畫

通過by animateColorAsState,可漸變

為什么要使用compose,能帶來什么好處
Compose可解決的問題
編寫可維護代碼的時候,減少耦合,增加內(nèi)聚
盡可能將相關(guān)代碼組合起來,以便輕松維護,關(guān)注點分離





聲明式UI
與命令式相反


聲明式UI的含義
只描述UI,不關(guān)心如何轉(zhuǎn)換到對應(yīng)的狀態(tài)
組合和繼承







重組

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

小結(jié):
