Android 用Jektpack Compose 來開發app【01】 - 初期建構篇
2024, May 27
前言
- 距離上一次發
Jetpack compose
相關的文章已是
2~3年前
其間斷斷續續會稍微碰到
不過都沒有好好的系統性的去研究
剛好近期
有機會開發整個專案全用Compose來完成的經驗
所以經過一番摸索後
有些心得
決定把這個過程寫成筆記分享給大家
專案建置
-
首先會先決定這次要用的library是哪些
這次選用為官方最新推薦的來做挑戰 -
其中某些library 也是最新版本AS創建new project會套用的
像是material3
、kts+toml的配置
、jetpack compose
等等
另外,之前有分享過toml
遷移時會遇到的問題
有興趣可以參考看看 -
實際的規劃如下:
Function
Lib
build
gradle.kts + toml
api
okhttp + retrofit2
navigation
navigation-compose
design
material 3
di
hilt
ui
jetpack compose
json
kotlinx.serialization
db
room
實作Compose主題
- 以前在使用xml時,會透過加入色碼到colors.xml
再把color resource ID 放到styles.xml去達成黑暗模式的主題配置
現在用了compose
就可以透過.kt
來配置該app的主題
根據每個專案需求不同可自行配置
我個人習慣先根據UX/UX設計稿
去設定的ColorScheme
、shape
、typography
、statusBarColor
、navigationBarColor
…等等
而不是一頁一頁個別去設計
這樣可以節省很多重複開發的時間
step1. 加入compose相關lib以及material3
這邊就依照需求自行導入
實際使用toml是用這種寫法:implementation(libs.androidx.material3)
放在你的build.gradle.kts(:app)
中
tips
: 上面這邊的多個library在導入androidx-compose-bom時支援自動mapping對應library的版本,所以這邊就不一定需要輸入version.ref
step2. 配置通用的Theme包含color、shape、typography
這邊有關於Material 3 theme的 文檔
step3. 實際使用theme
這邊分別是設定狀態列、導航欄、theme等等
colorscheme就是套用前面實作的
在Activity或Screen中使用:
(Optional) step4. 製作通用toolbar
- 這邊則是做一個通用的toolbar
因為通常由ui/ux設計師出圖的話
多數時候toolbar會是相近的效果呈現
我自己就會先根據設計稿把toolbar寫好通用的
這邊就看大家需不需要做這步
如下:
這邊是實際使用MainAppBarConfig
主要是要在MainAppBarConfig裡面 加入想要的樣式或點擊反應
接著放到Scaffold
內的topBar
就可以了
結語
- 第一部分就到這邊了
主要是先把前面的基礎建設打穩
後面開發就會很方便、有效率了!
跳回目錄