Jetpack Compose 1.1 釋出,基於 Kotlin 的 Android UI 工具包

2022-02-12 09:00:33

Jetpack Compose 是 Android 基於 Kotlin 的現代原生 UI 工具包,可以幫助開發者更快地構建應用程式,由谷歌開源。Jetpack Compose 1.1 版本包含了一些新功能,如改進的焦點處理、強制擴充套件觸控目標大小、ImageVector 快取,以及支援Android 12的拉伸捲動效果,此外一些實驗性 api 變得穩定,並支援 Kotlin 的新版本。

注意:使用 Compose 1.1 需要使用 Kotlin 1.6.10。

影象向量快取

Compose 1.1引入了影象向量快取,為 painterResource API 新增了一個快取機制:快取所有用給定資源 id 和主題解析的 ImageVectors 範例,帶來了巨大的效能改進。

注意:更改設定時,該快取將失效。

強制擴充套件的觸控目標大小

在 Jetpack Compose 1.1 版本,Material 元件將擴充套件佈局空間,以滿足 Material 的標準。

例如 RadioButton's,即使開發者將 RadioButton 的尺寸設定得更小,觸控目標的最小尺寸也會擴大到 48x48dp。圖下圖:

 

左圖為 Jetpack Compose 1.0 可用的觸控設定,右圖為 Jetpack Compose 1.1 強制擴充觸控目標尺寸後的效果。

可以通過設定 為 false 來禁用此功能。

從實驗轉為穩定的 API

  • 動畫相關的API,如: 、 、部分 API、
  • 向量相關 API:、、 和

新的實驗性 API

  • 使用 rememberSaveable.時,亦可儲存和恢復 AnimatedContent 
  • 可以使用 .對 LazyColumn/LazyRow 進行動畫定位
  • 可以使用新的 BringIntoView API 向父級傳送請求,捲動地將元素帶入檢視。

更新公告:

展開閱讀全文