Jetpack Compose 1.2 Beta 釋出

2022-05-14 09:00:22

谷歌推出 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 穩定,你可以開始構建你的生產就緒的應用程式。詳情可閱讀 

展開閱讀全文