資訊一覽

使用 Jetpack Compose 樣式 API,為遠端介面建立版面配置。
最近更新時間 穩定版 候選版 Beta 版 Alpha 版
2025 年 8 月 27 日 1.1.1 - 1.2.0-beta01 -

宣告依附元件

如要新增 Glance 的依附元件,必須將 Google Maven 存放區新增至專案。詳情請參閱 Google 的 Maven 存放區

在應用程式或模組的 build.gradle 檔案中,新增所需構件的依附元件:

Groovy

dependencies {
    // For Glance support
    implementation "androidx.glance:glance:1.2.0-beta01"
    // For AppWidgets support
    implementation "androidx.glance:glance-appwidget:1.2.0-beta01"

    // For Wear-Tiles support
    implementation "androidx.glance:glance-wear-tiles:1.0.0-alpha07"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.0-beta03"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    // For Glance support
    implementation("androidx.glance:glance:1.2.0-beta01")
    
    // For AppWidgets support
    implementation("androidx.glance:glance-appwidget:1.2.0-beta01")

    // For Wear-Tiles support
    implementation("androidx.glance:glance-wear-tiles:1.0.0-alpha07")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.0-beta03"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。

意見回饋

您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 說明文件

1.2 版本

1.2.0-beta01 版本

2025 年 8 月 27 日

發布 androidx.glance:glance-*:1.2.0-beta01。1.2.0-beta01 版包含這些修訂項目

修正錯誤

1.2.0-alpha01 版本

2025 年 5 月 7 日

發布 androidx.glance:glance-*:1.2.0-alpha01。1.2.0-alpha01 版包含這些修訂項目

API 變更

  • currentCompositeKeyHash 目前已淘汰。請改用 currentCompositeKeyHashCode。替代 API 會以更多位元編碼相同的雜湊,大幅降低組合階層中兩個隨機不相關群組具有相同雜湊鍵的機率。(I4cb6ab/177562901)
  • 新增 API,可為 Glance Image 可組合函式和背景圖片修飾符指定 Alpha 值 (0f1f)。如未指定,則保留來源圖片的 Alpha 值。(I8ad05)
  • 為生成的預覽畫面新增 Glance API。覆寫 GlanceAppWidget.providePreview,為小工具提供預覽版面配置。接著呼叫 GlanceAppWidgetManager.setWidgetPreview 設定預覽畫面。(Iced16)
  • 新增 MultiProcessGlanceAppWidget,支援多程序設定 (Idbb90)
  • 移除實驗性標記,我們現在支援 lambda (I74d98b/299361317)
  • 允許為 GlanceAppWidget.runComposition 指定 lambda 接收器 (I84829)
  • previewSize 參數新增至 requestPinGlanceAppWidget (I9f8f0b/303256067)

修正錯誤

  • 移除手動列出新平台 API 存取權的步驟,因為使用 AGP 7.3 以上版本 (例如 R8 3.3 版) 的 R8 時,系統會透過 API 建模自動執行這項作業,而使用 AGP 8.1 以上版本 (例如 D8 8.1 版) 時,所有建構作業都會自動執行這項作業。如果用戶端未使用 AGP,建議更新至 D8 8.1 以上版本。詳情請參閱這篇文章。(If6b4cb/345472586)
  • glance-appwidget 程式庫更新至 compileSdk 35 (I2e26b)

1.1 版本

1.1.1 版

2024 年 10 月 16 日

發布 androidx.glance:glance-*:1.1.1。1.1.1 版包含這些修訂項目

安全性修正

  • 這項變更起,androidx 會針對 protobuf 4.28.2 進行編譯,以解決 CVE-2024-7254。將 androidx.glance:glance-appwidget-protoandroidx.glance:glance-appwidget-external-protobuf 的依附元件從 1.1.0 版升級至 1.1.1 版,以解決安全漏洞風險。

1.1.0 版本

2024 年 6 月 12 日

發布 androidx.glance:glance-*:1.1.0。1.1.0 版包含這些修訂項目

自 1.0.0 版以來的重要變更

  • 將 Glance 移至 1.1.0 穩定版。

1.1.0-rc01 版本

2024 年 5 月 14 日

發布 androidx.glance:glance-*:1.1.0-rc01。1.1.0-rc01 版包含這些修訂項目

新功能

  • 在 Glance 的預覽註解中新增寬度和高度參數。將 1.1.0 版移至候選版本。

API 變更

  • 在 Scaffold 中新增選用參數。(If753f)
  • 在 Glance @Preview 中新增寬度和高度參數。(Ibabe8)
  • 移除「資訊一覽」智慧手錶動態磚預覽支援功能。(I3850a)
  • 新增 API,可為 FontStyle 設定自訂權重值。(I7390a)
  • 重新命名 ViewfinderImplementationMode 列舉,以更貼切反映基礎實作項目,並為 TransformationInfo.sourceRotation 新增固定常數 (Ic6149)

修正錯誤

  • 修正了導致回溯相容模式中 ViewGroups 發生轉譯問題的錯誤 (I8de92)

外部貢獻

1.1.0-beta02 版

2024 年 4 月 17 日

發布 androidx.glance:glance-*:1.1.0-beta02。這個版本包含先前版本缺少的來源 JAR。

1.1.0-beta01 版本

2024 年 4 月 3 日

發布 androidx.glance:glance-*:1.1.0-beta01。1.1.0-beta01 版包含這些修訂項目

1.1.0-alpha01 版本

2024 年 2 月 7 日

發布 androidx.glance:glance-*:1.1.0-alpha011.1.0-alpha01 版包含以下修訂項目。

新功能

  • Glance 的單元測試程式庫,不需要 UI Automator。您可以直接測試 Glance 程式碼,不必擴充檢視區塊。
  • 更高階的元件,可簡化版面配置。
  • 全新修飾符和主題選項。
  • 新版 API:可從組合取得 RemoteViews 的流程,runComposition

API 變更

  • 在 Glance 主題中新增 widgetBackground 顏色角色。(Ia2ab8)
  • 新增 GlanceAppWidget.runComposition (I6344cb/298066147)
  • 新增 TopBar 元件 (Ibd361)
  • clickable 修飾符中新增覆寫。(Iacecf)
  • 新增按鈕著色 API。在 1.0 版發布前,這項功能應處於實驗階段。(I92523)
  • 新增 runGlanceAppWidgetUnitTest,提供在 GlanceAppWidgetUnitTest 上呼叫方法 (例如 provideComposable) 的範圍,以便提供用於測試的小型獨立可組合函式,以及在提供的內容中尋找 Glance 可組合函式元素的 onNode。這樣一來,您就能為應用程式小工具中的個別可組合函式編寫單元測試,確認函式在收到特定輸入內容時,會輸出預期的資訊一覽可組合元素集。(I2f682)
  • 在語意中新增 testTag 修飾符,以用於單元測試。(I8f62f)
  • 更新 TitleBar - 文字和圖示可個別著色。(Ia0a60)
  • 新增 Scaffold 元件 (I8a736)
  • 在測試 actionRunCallack 中新增 hasActionRunCallbackClickAction 篩選器和 assertHasActionRunCallbackClickAction 判斷。此外,還為動作相關測試篩選器新增其他簡寫變數函式 - hasStartActivityClickAction<activityClass>(..)hasStartServiceAction<receiverClass>(..)hasSendBroadcastAction<receiverClass>(..)。為 assertHasXXX 對應項目新增類似的變體。(Ieca63)
  • Moves unreleased api around. 將修飾符從內部變更為公開,但資料庫受限 (If2a08)
  • 新增 onCompositionError 方法,開發人員可在發生錯誤時執行程式碼 (I9b56f)
  • 在 Glance 中新增按鈕和圖示按鈕 API (I0fd6f)
  • 新增 isLinearProgressIndicatorisIndeterminateLinearProgressIndicatorisIndeterminateCircularProgressIndicator 篩選器,以比對進度指標。額外包含 hasAnyDescendants 篩選器,可測試節點的子階層中是否有符合特定比對器 (Ifd426) 的後代
  • 新增斷言和篩選器,以便測試啟動服務 / 活動或廣播的點擊動作。此外,也包括測試輸入元素是否已勾選。(I3041c)

1.0.0 版本

1.0.0-alpha07 版本

2025 年 8 月 27 日

發布 androidx.glance:glance-wear-tiles:1.0.0-alpha07。1.0.0-alpha07 版包含這些修訂項目

新功能

  • Google 智慧手錶微光模式動態磚已淘汰,並將在日後推出的版本中移除。並由新的 Glance Wear 小工具程式庫取代。

API 變更

  • 淘汰 glance-wear-tiles (I82afd)
  • 移除過時的 @RequiresApi(21) 註解 (Ic4792)
  • 移除過時的 @RequiresApi(21) 註解 (I9103b)
  • 移除未使用的模組。我們不會繼續使用範本。(I3fc90b/430070874)
  • 使用 Kotlin 2.0 發布的專案必須使用 KGP 2.0.0 以上版本 (Idb6b5)
  • 修正 API 委員會回饋 (I284c8)
  • 新增按鈕著色 API。在 1.0 版發布前,這項功能應為實驗性質 (I92523)
  • 更新 API 檔案,以註解相容性抑制 (I8e87ab/287516207)
  • 所有圖塊算繪器 API 現在都完全支援 protolayout 型別。(I428b0)
  • 合併 d、e、f、g 路徑的公開和實驗性 API 檔案 (I03646b/278769092)
  • ButtonCheckboxRadioButtonSwitch 新增 *Defaults API。這項功能可讓微件更符合 Jetpack Compose 的模式。(I94828)
  • 新的 Glance 範本模組 (I94459)
  • 我們已為 TileRenderer 新增 androidx.wear.protolayout 類型支援 (I4ac7f)
  • 更多已淘汰隱藏函式的傳回類型為空值 (Ibf7b0)。
  • 新增 @JvmDefaultWithCompatibility 註解 (I8f206b/251463569)
  • 新增支援使用 lambda 做為回呼 (Ia0bbd)

修正錯誤

  • 將 glance-appwidget 程式庫更新至 compileSdk 35 (I2e26b)

1.0.0-alpha06 版本

2024 年 2 月 7 日

發布 androidx.glance:glance-appwidget-preview:1.0.0-alpha06androidx.glance:glance-preview:1.0.0-alpha061.0.0-alpha06 版包含此連結所列的修訂項目。

新功能

  • 版本已更新,與主要 Glance 模組一致。

1.0.0 版本

2023 年 9 月 6 日

發布 androidx.glance:glance-*:1.0.01.0.0 版包含此連結所列的修訂項目。

1.0.0 的主要功能

  • 將 Glance 遷移至穩定版 1.0.0

1.0.0-rc01 版

2023 年 7 月 26 日

發布 androidx.glance:glance-*:1.0.0-rc011.0.0-rc01 版包含以下修訂項目。

將 Glance 移至 rc01,準備發布 1.0.0 穩定版。

新功能

  • 在動作 Lambda 中新增重要參數,確保動作調用更穩定。
  • 新增向 ActvityOptions 提供 startActivity 動作的功能。
  • 新增 Android 14 支援

API 變更

  • 為接受 Lambda 的所有元素新增選用鍵參數。(Id96c1b/282445798)
  • 新增支援為 actionStartActivity 設定 ActivityOptions 組合 (I6a08d)
  • 合併 d、e、f、g 路徑的公開和實驗性 API 檔案 (I03646b/278769092)
  • 不適用,API 檔案變更只是重新排序方法 (I5fa95)
  • 新增 API,用於為 GlanceAppWidgetReceiver 要求設定 CoroutineContext (I0a100)
  • 新增 API,為清單中的所有動作提供 LazyColumnLazyVerticalGridActivityOptions。(Id8d71)

修正錯誤

  • 不適用,API 檔案變更只是重新排序方法 (I5fa95)
  • Glance 文字元件樣式示範 (Ie78a4)

1.0.0-beta01 版

2023 年 5 月 10 日

發布 androidx.glance:glance-*:1.0.0-beta011.0.0-beta01 版包含此連結所列的修訂項目。

新功能

  • 將程式庫遷移至 Beta 版。
  • 支援使用 GlanceTheme 設定主題,並新增 glance-material 和 glance-material3 模組,在「資訊一覽」中支援 Material 2 和 Material 3 樣式主題。
  • 文字 API 新增 FontFamily 支援。
  • 已將 GlanceAppWidget 移至以 WorkManager 工作階段為基礎的更新機制。Glance for AppWidgets 的使用者現在應覆寫 GlanceAppWidget.provideGlance,而非舊的 Content 方法。由於這項作業現在會在 Worker 中進行,因此您不必使用獨立的 Worker,就能在這裡載入資源、資料庫或網路項目。

API 變更

  • ButtonCheckboxRadioButtonSwitch 新增 *Defaults API。這項功能可讓微件更符合 Jetpack Compose 的模式。(I94828)
  • 新的 Glance 範本模組 (I94459)
  • ResourceColorProvider 設為模組內部。破壞性變更。這是必要做法,因為 ResourceColorProvider 只能用於動態主題設定,避免部分顏色是動態資源,部分顏色則完全解析的情況。(Ib0db7)
  • FontFamily 新增為 TextStyle 的選項。(Ic19bab/274179837)
  • Enum.valueOf 的值參數名稱已變更 (Ia9b89)
  • 列舉 valueOf 擲回的例外狀況增加 (I818fe)
  • 已更新 GlanceAppWidget,現在會使用 provideGlance 做為主要進入點。GlanceAppWidget.Content 現已淘汰 (I202b5)
  • 新增提供圖片色調顏色的選項 (I26192b/212418562)
  • 更多已淘汰隱藏函式的傳回類型為空值。(Ibf7b0)
  • 新增 @JvmDefaultWithCompatibility 註解 (I8f206)
  • 已移除未使用的 SingleEntityTemplateData.displayHeader。(I7f094)
  • 新增支援使用 lambda 做為回呼 (Ia0bbd)
  • 已將 DayNightColorProvider 移至 Glance 模組 (I1842cb/256934779)
  • 從範本中移除 LocalColorProvider。範本現在會使用 GlanceTheme.colors (Ic15e2)
  • Text(style: TextStyle) 移除可為空值性 (I7123bb/237012816)
  • 將預設文字顏色設為黑色,並移除可空值性 (I3072cb/237012816)
  • 將動態主題設為 ColorProviders 自己的物件。將 ResourceColorProvider 設為模組內部。(Id0e2db/237012816)
  • 將「未定義」類別新增至 ImageSize。(I2fa39)
  • 移除已淘汰的 GlanceAppWidget.Content 函式 (Ib05f6)
  • 將修飾符做為參數新增至 AndroidRemoteViews。(I515d4)
  • 新增 GlanceAppWidget.compose,簡化單元測試 (Ie9b28)

修正錯誤

  • 新增了 Glance 文字字型的示範小工具 (I5c3d7)
  • 使用修飾符讓 AndroidRemoteViews 可調整大小。
  • 修正主題顏色不一致的問題
  • 所有資源現在都加上前置字串,以免發生衝突

1.0.0-alpha05 版本

2022 年 10 月 5 日

發布 androidx.glance:glance:1.0.0-alpha05androidx.glance:glance-appwidget:1.0.0-alpha05androidx.glance:glance-wear-tiles:1.0.0-alpha05查看 1.0.0-alpha05 版的修訂項

新功能

  • requestPinGlanceAppWidget 新增至 GlanceAppWidgetManager,讓應用程式提示使用者將 Glance 型小工具新增至主畫面。(Ic6e47)
  • ACTION_DEBUG_UPDATE 新增至 GlanceAppWidgetReceiver,讓開發人員強制要求小工具從已解鎖裝置和模擬器的 ADB 中更新。(I94ae1)

API 變更

  • 移除 Glance 範本中的標頭動作按鈕,藉此簡化用途。(Ie4387)
  • 重構單一實體範本,以便重複使用區塊子系統設計。(Iecd2c)
  • 重構 Glance 清單範本,以便使用 Text/Image/Action 區塊設計。(If0cc1)
  • 新增 TextBlockImageBlock 的優先順序值範圍。(I73100)

修正錯誤

  • 已移除 Material3 依附元件。(I28d1c)
  • 改用更加一致的系統,在 Glance 範本版面配置中增加邊界和間距。(I29773)
  • 修正格式錯誤的 Proguard 規則,以免導致無法建構壓縮版本。

1.0.0-alpha04 版本

2022 年 8 月 10 日

發布 androidx.glance:glance:1.0.0-alpha04androidx.glance:glance-appwidget:1.0.0-alpha04androidx.glance:glance-wear-tiles:1.0.0-alpha041.0.0-alpha04 版包含以下修訂項目。

新功能

  • 新增按鈕顏色功能。
  • 新增 GlanceComposable 註解,以改善編譯時間檢查。
  • 新增 Wear 專屬 Glance 功能。

API 變更

  • 更新 Glance Gallery Data API 和精簡檢視畫面。(Ibc7a8)
  • 新增 ButtonColors 以設定按鈕 (Iea88db/236305351)
  • ColorProvider.resolve 重新命名為 ColorProvider.getColor (Ic9dfe)
  • copy() 方法新增至 TextStyle。(I9aef6)
  • 新增 ColorProviders 類別,可做為 Glance 主題的一部分 (I848b9b/237012816)
  • 為清單樣式和收合的檢視畫面新增清單範本支援 (I50cdc)
  • GlanceModiierGlanceCurvedModifier 中新增語意 (Ifda7e)
  • 新增 GlanceComposable 註解。(I5dbf0)
  • 將 Glance 範本移至主要的 Glance 專案 (I9db94)
  • 新增 ColorProvider.resolve() (Ife532b/214733442)
  • 從現有 appWidgetId 或設定活動中的意圖取得 GlanceId 的新方法 (Icb70cb/230391946)
  • 新增 GlanceComposable 註解。(I2c21f)
  • 已新增 GlanceRemoteViews,以便在 GlanceAppWidget 以外的位置執行組合 (I18f92)
  • 移除 ProgressIndicatorDefaults 中的顏色 (I40299)
  • 按照 API 審查意見回饋的要求,將 ActionCallback 的 onRun 方法重新命名為 onAction,以與公用 API 保持一致 (Icfa57)
  • 轉換 glance 範本版面配置以使用地圖 (I46bfd)
  • 新增 RadioButton 可組合函式 (I4ecce)
  • 新增了 GlanceWearTiles 用於撰寫 Wear OS 資訊方塊 (Ia9f65)
  • 新增了 GlanceCurvedModifier 的可點擊屬性 (Iec2a0)
  • 實作 CurvedRow 範圍,並建立 DSL,以新增一般的可組合元素和/或曲線元素。在 proto 圖塊中一併新增 curvedLinecurvedSpacer,並轉換為 ArcLineArcSpacer (Ib955b)
  • 根據 Tiramisu DP2 (I0cbb7) 更新核心和應用程式是否可為空值的作法
  • 在 glance-wear-tiles 中新增對 RuncallbackAction 的支援,目前僅支援沒有參數的 RunCallbackAction (Ide64a)

外部貢獻

  • 由於 test-coroutines-lib 遷移,更新了 :compose:ui:ui-test API (updateApi) (I3366d)

1.0.0-alpha03 版本

2022 年 2 月 23 日

發布了 androidx.glance:glance-*:1.0.0-alpha031.0.0-alpha03 版包含以下修訂項目。

新功能

  • 將狀態定義簡化為「偏好設定」。

API 變更

  • PreferencesGlanceStateDefinition 設為預設狀態處理,藉此簡化狀態處理。移除了 GlanceAppWidget.updateAppWidgetState 及引入 updateAppWidgetState,其預設使用 Preferences (I58963)
  • 新增 Glance TemplateText 類別,及更新範本設計 (I4e146)
  • 為任意形式的範本新增概述架構 (If03d6)
  • 更新至 SingleEntityTemplate 版面配置 (If925d)
  • 新增了 LazyVerticalGrid (I5f442)
  • SingleEntityTemplate 上使用 ColorProvider (I01ee0)
  • 更新範本類別名稱 (I3720e)
  • 新增了 LinearProgressIndicatorCircularProgressIndicator 可組合項 (Ie116b)

修正錯誤

  • 初始化 glance 範本實作,定義「單一項目範本」資料及範例範本版面配置 (I35837)
  • 根據預設,將設定方塊內容置中對齊 (I264be)
  • 修正 glance-wear-tiles 中的 fillMaxSize/Width/Height 錯誤 (I0a39f)

1.0.0-alpha02 版

2022 年 1 月 26 日

發布了 androidx.glance:glance-*:1.0.0-alpha021.0.0-alpha02 版包含此連結所列的修訂項目。

新功能

這個版本包含一組 API,可以使用 Compose 執行階段透過「Glanceable」的最佳化可組合項來建構 Wear 圖塊

  • 透過擴充 GlanceTileService 以宣告 Wear 圖塊服務,這是用來在 Composable Content() 函式中建立圖塊的服務。
  • 特定於瀏覽的 Wear 圖塊的可組合項:CurvedRowCurvedText
  • 定義 TimelineMode.SingleEntryTimelineMode.TimeBoundEntries,以處理不同的圖塊時間軸模式。
  • LocalTimeInterval,本機組合是指特定時間間隔。
  • BorderModifer 是一個 GlanceModifier,會在元素周圍套用框線。

這個版本也會為 AppWidget Glance 新增進度指標。

API 變更

  • 新增了 LinearProgressIndicatorCircularProgressIndicator 可組合項 (Ie116b)
  • actionStartBroadcastReceiver 變更為 actionSendBroadcast (I7d555)
  • 將 Context 傳送至 GlanceAppWidget onDelete 回呼 (I4c795)

修正錯誤

  • 正確處理 OPTIONS_APPWIDGET_SIZES (如有且為空) (I01f82)

1.0.0-alpha01 版

2021 年 12 月 15 日

發布 androidx.glance:glance:1.0.0-alpha01androidx.glance:glance-appwidget:1.0.0-alpha01androidx.glance:glance-appwidget-proto:1.0.0-alpha011.0.0-alpha01 版本包含以下修訂項目。

初始版本中的功能

  • 第一版 Glance 提供第一組 API,用以使用 Compose Runtime 建立 AppWidget,以及一組為「可瀏覽」最佳化的新的可組合項。

功能