谷歌推出 Jetpack Compose 1.2 Beta,其中包含了許多功能和改進。具體更新內容如下:
文字改進
字型填充
開發團隊通過製作可自定義的引數解決了 issue tracker 中使includeFontPadding
成為一個可客製化的引數。官方建議將此值設定為false
,可使佈局中的文字更精確地對齊。其標是最終將其設為未來版本中的預設值。當includeFontPadding
設定為時false
,使用者可以通過設定lineHeightStyle
引數來調整 Text composable 的行高。結合起來可以是這樣的:
Text( text = myText, style = TextStyle( lineHeight = 2.5.em, platformStyle = PlatformTextStyle( includeFontPadding = false ), lineHeightStyle = LineHeightStyle( alignment = Alignment.Center, trim = Trim.None ) ) )
可下載字型
Compose 1.2 還在 Compose 中引入了可下載字型。你可以使用 Compose 的新 API 來非同步存取 Google 字型,甚至可以定義備用字型,而無需任何複雜的設定。有了可下載字型,你可以保持較小的 APK 大小並改善使用者的系統執行狀況,因為多個應用程式可以通過提供商共用相同的字型。
文字放大鏡
Android 文字提供了一個放大鏡小部件,可以更輕鬆地選擇文字。Compose 現在支援文字放大鏡。
佈局功能和改進
Lazy Layouts
Lazy Layouts 繼續發展,隨著網格 API和
實驗性的畢業,一個新的實驗性 API 被新增,稱為
,它允許你實現自己的自定義 Lazy Layouts。在 I/O 演講中瞭解有關這些 API 的更多資訊 。
與 CoordinatorLayout 互操作
當你在檢視系統中的 CoordinatorLayout 中嵌入一個捲動的 composable 時,你現在可以確保它們的捲動行為是可互操作的。這使得可摺疊的工具條的設定更加容易。你可以通過將呼叫新的實驗性的 rememberNestedScrollInteropConnection 方法的結果傳遞給 nestedScroll 修改器來選擇這種行為。這是一個演示此新功能的
Window insets
Accompanist 中的外掛庫現在已經升級到 Compose Foundation 庫,使用 WindowInsets 類。的檔案中閱讀有關它的更多資訊。
Window size classes
為了更容易設計、開發和測試可調整大小的佈局,官方釋出了 Window size classes - 一組 opinionated viewport breakpoints。它們現在在一個新的庫 material3-window-size-class 中以 alpha 形式提供,作為 Material 3 庫集的一部分。你中閱讀有關 size classes 的更多資訊,並檢視 。
專注於效能
從 Android Studio Dolphin 開始,你可以使用 Layout Inspector 檢查可組合項重組的頻率。此外,Android Studio Electric Eel 現在包括一個 recomposition highlighter,這是一個用於檢視哪些可組合項何時重組的視覺輔助工具。部落格中閱讀有關此新工具的更多資訊。
Compose 從根本上改變了你編寫 UI 的方式,因此你可以採用一些最佳實踐來確保你的應用程式是高效能的。新發布的建議如何編寫和設定你的 Compose 應用程式以獲得最佳效能。
新工具
除了改進之外,還有新的工具更新可幫助您更有效地使用 Compose。 現在處於 Beta 版,為 Compose 開發帶來了令人興奮的功能。除了重新合成計數之外,新工具還包括動畫協調,以便你可以一次檢視和瀏覽所有動畫,以及多預覽註釋,以幫助你構建多種螢幕尺寸。為了使你能夠更快地迭代 Android Studio Electric Eel(在 Canary 中)帶來了 LiveEdit。
Compose for Wear OS
適用於 Wear OS 的 Compose 進入 Beta 版,意味著它的功能完整,API 穩定,你可以開始構建你的生產就緒的應用程式。詳情可閱讀 。