スナップ
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
2025 年 5 月 7 日 | 1.1.1 | - | - | 1.2.0-alpha01 |
依存関係の宣言
Glance への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle
ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { // For Glance support implementation "androidx.glance:glance:1.2.0-alpha01" // For AppWidgets support implementation "androidx.glance:glance-appwidget:1.2.0-alpha01" // For Wear-Tiles support implementation "androidx.glance:glance-wear-tiles:1.0.0-alpha05" } 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-alpha01") // For AppWidgets support implementation("androidx.glance:glance-appwidget:1.2.0-alpha01") // For Wear-Tiles support implementation("androidx.glance:glance-wear-tiles:1.0.0-alpha05") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.0-beta03" } kotlinOptions { jvmTarget = "1.8" } }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
バージョン 1.2
バージョン 1.2.0-alpha01
2025 年 5 月 7 日
androidx.glance:glance-*:1.2.0-alpha01
がリリースされました。バージョン 1.2.0-alpha01 に含まれる commit はこちらをご覧ください。
API の変更
currentCompositeKeyHash
が非推奨になりました。代わりにcurrentCompositeKeyHashCode
を使用してください。置換 API は同じハッシュをより多くのビットでエンコードするため、コンポジション階層内の 2 つの無関係なグループが同じハッシュキーを持つ確率は指数関数的に低くなります。(I4cb6a、b/177562901)- スナップショット Image コンポーザブルと背景画像修飾子のアルファ(
0f
~1f
)を指定する新しい API を追加しました。指定しない場合、ソース画像のアルファを保持します。(I8ad05) - 生成されたプレビュー用の Glance API を追加しました。
GlanceAppWidget.providePreview
をオーバーライドして、ウィジェットのプレビュー レイアウトを指定します。次に、GlanceAppWidgetManager.setWidgetPreview
を呼び出してプレビューを設定します。(Iced16) - マルチプロセス構成をサポートするために
MultiProcessGlanceAppWidget
を追加しました。(Idbb90) - 試験運用版タグを削除し、ラムダをサポートしました。(I74d98、b/299361317)
GlanceAppWidget.runComposition
にラムダ レシーバを指定できるようにしました。(I84829)previewSize
パラメータをrequestPinGlanceAppWidget
に追加しました。(I9f8f0、b/303256067)
バグの修正
- 新しいプラットフォーム API へのアクセスの手動アウトラインを削除しました。これは、AGP 7.3 以降(R8 バージョン 3.3 など)で R8 を使用する場合、および AGP 8.1 以降(D8 バージョン 8.1 など)を使用するすべてのビルドで、API モデリングによって自動的に行われるためです。AGP を使用していないクライアントは、D8 バージョン 8.1 以降にアップデートすることをおすすめします。詳しくは、こちらの記事をご覧ください。(If6b4c、b/345472586)
glance-appwidget
ライブラリをcompileSdk 35
に更新しました。(I2e26b)
バージョン 1.1
バージョン 1.1.1
2024 年 10 月 16 日
androidx.glance:glance-*:1.1.1
がリリースされました。バージョン 1.1.1 には、これらの commit が含まれています。
セキュリティに関する修正
- この変更により、androidx は protobuf 4.28.2 に対してコンパイルされ、CVE-2024-7254 に対処します。脆弱性リスクに対処するには、
androidx.glance:glance-appwidget-proto
とandroidx.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 に含まれる commit はこちらをご覧ください。
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 に含まれる commit については、こちらをご覧ください。
新機能
- グレンズのプレビュー アノテーションに幅と高さのパラメータを追加しました。1.1.0 をリリース候補版に移動しました。
API の変更
- Scaffold にオプションのパラメータを追加しました。(If753f)
- 幅と高さのパラメータを Glance
@Preview
に追加しました。(Ibabe8) - スナップショット ウェアタイル プレビューのサポートを削除。(I3850a)
FontStyle
のカスタム重み値を設定するための API を追加しました。(I7390a)Viewfinder
のImplementationMode
列挙型の名前を変更して基盤となる実装をより適切に反映し、TransformationInfo.sourceRotation
の固定定数を追加しました(Ic6149)
バグの修正
- 下位互換モードで
ViewGroups
のレンダリングの問題が発生するバグを修正しました。(I8de92)
外部からの協力
- 試験運用版の
SharedTransitionScope
がクラスではなくインターフェースになりました。(Iaf856、b/338415048、b/338414702)
バージョン 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 には、これらの commit が含まれています。
バージョン 1.1.0-alpha01
2024 年 2 月 7 日
androidx.glance:glance-*:1.1.0-alpha01
がリリースされました。バージョン 1.1.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
- UI Automator を必要としない Glance の単体テスト ライブラリ。グレンズのコードは、ビューをインフレートしなくても直接テストできます。
- よりシンプルなレイアウトを実現する上位レベルのコンポーネント。
- 新しい修飾子とテーマ オプション。
- コンポジションから RemoteViews のフローを取得するための新しい API(
runComposition
)
API の変更
- Glance テーマに新しい
widgetBackground
カラーロールを追加しました。(Ia2ab8) GlanceAppWidget.runComposition
を追加しました。(I6344c、b/298066147)- 新しい
TopBar
コンポーネントを追加しました(Ibd361) clickable
修飾子にオーバーライドを追加しました。(Iacecf)- ボタンの色付け用の新しい API を追加しました。1.0 がリリースされるまでは試験運用版となります。(I92523)
GlanceAppWidgetUnitTest
でメソッドを呼び出すスコープを提供するrunGlanceAppWidgetUnitTest
を追加します。たとえば、provideComposable
はテスト用に小さな分離されたコンポーザブルを提供します。onNode
は、指定されたコンテンツで Glance コンポーザブル要素を見つけます。これにより、アプリ ウィジェットの個々のコンポーザブル関数の単体テストを作成して、特定の入力が与えられた場合に、関数が意図したスナップショット コンポーザブル要素のセットを出力することを確認できます。(I2f682)- 単体テストで使用するための
testTag
修飾子をセマンティクスに追加しました。(I8f62f) TitleBar
を更新 - テキストとアイコンを個別に着色可能に。(Ia0a60)- スキャフォールド コンポーネントを追加しました。(I8a736)
hasActionRunCallbackClickAction
フィルタとassertHasActionRunCallbackClickAction
アサーションを追加して、actionRunCallack
をテストします。また、アクション関連のテストフィルタ(hasStartActivityClickAction<activityClass>(..)
、hasStartServiceAction<receiverClass>(..)
、hasSendBroadcastAction<receiverClass>(..)
)のショートカット パターン関数を追加しました。assertHasXXX
の類似バリアントを追加します。(Ieca63)- 未公開の API を移動します。修飾子を内部から公開に変更し、ライブラリを制限付きに変更(If2a08)
- エラーが発生したときにデベロッパーがコードを実行できる
onCompositionError
メソッドを追加しました(I9b56f) - スナップショットにボタンとアイコンボタンの API を追加しました。(I0fd6f)
- 進行状況インジケーターに一致する
isLinearProgressIndicator
、isIndeterminateLinearProgressIndicator
、isIndeterminateCircularProgressIndicator
フィルタを追加しました。追加のhasAnyDescendants
フィルタが含まれ、ノードのサブ階層に特定のマッチング条件に一致する子孫があるかどうかをテストします(Ifd426) - サービス / アクティビティやブロードキャストを開始するクリック アクションのテストができるように、アサーションとフィルタを追加しました。また、入力要素がチェックされているかどうかのテストも含まれます。(I3041c)
バージョン 1.0.0
バージョン 1.0.0-alpha06
2024 年 2 月 7 日
androidx.glance:glance-appwidget-preview:1.0.0-alpha06
と androidx.glance:glance-preview:1.0.0-alpha06
がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください。
新機能
- メインの Glance モジュールに合わせてバージョンを更新しました。
バージョン 1.0.0
2023 年 9 月 6 日
androidx.glance:glance-*:1.0.0
がリリースされました。バージョン 1.0.0 に含まれる commit については、こちらをご覧ください。
1.0.0 の主な機能
- Glance を安定版 1.0.0 に移行
バージョン 1.0.0-rc01
2023 年 7 月 26 日
androidx.glance:glance-*:1.0.0-rc01
がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください。
1.0.0 の安定版リリースに向けて、Glance を rc01 に移行しました。
新機能
- アクション ラムダに重要なパラメータを追加し、アクションの呼び出しを安定させました。
ActvityOptions
からstartActivity
へのアクションにActvityOptions
を指定できる機能を追加しました。- Android 14 のサポートを追加しました
API の変更
- ラムダを受け入れることができるすべての要素に、オプションのキー パラメータを追加しました。(Id96c1、b/282445798)
actionStartActivity
にActivityOptions
バンドルの設定をサポートしました。(I6a08d)- d、e、f、g パスの公開 API ファイルと試験運用版 API ファイルを統合しました。(I03646、b/278769092)
- 該当なし。API ファイルの変更はメソッドの並べ替えのみです(I5fa95)
GlanceAppWidgetReceiver
リクエストのCoroutineContext
を設定する API を追加しました。(I0a100)- リスト内のすべてのアクションに使用される
LazyColumn
とLazyVerticalGrid
にActivityOptions
を提供する新しい API を追加しました。(Id8d71)
バグの修正
バージョン 1.0.0-beta01
2023 年 5 月 10 日
androidx.glance:glance-*:1.0.0-beta01
がリリースされました。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください。
新機能
- ライブラリをベータ版に移行します。
GlanceTheme
を使用したテーマ設定のサポート。Glance でマテリアル 2 スタイルとマテリアル 3 スタイルのテーマをサポートするために、glance-material モジュールと glance-material3 モジュールを追加しました。- テキスト API に
FontFamily
のサポートを追加しました。 GlanceAppWidget
をWorkManager
セッションベースの更新メカニズムに移行しました。AppWidgets
の Glance を使用するユーザーは、古いContent
メソッドではなくGlanceAppWidget.provideGlance
をオーバーライドする必要があります。これがワーカーで行われるようになったため、リソース、データベース、ネットワーク アイテムを読み込むのに適した場所になりました。別途ワーカーを用意する必要はありません。
API の変更
Button
、Checkbox
、RadioButton
、Switch
の*Defaults
API を追加しました。これにより、スナップショットが Jetpack Compose のパターンに近づきます。(I94828)- 新しい Glance テンプレート モジュール(I94459)
ResourceColorProvider
をモジュール内部にします。互換性を破る変更。ResourceColorProvider
はダイナミック テーマ設定にのみ使用する必要があり、一部の色がダイナミック リソースで、一部の色が完全に解決される状況を回避するためです。(Ib0db7)TextStyle
のオプションとしてFontFamily
を追加しました。(Ic19ba、b/274179837)Enum.valueOf
の値パラメータ名を変更しました。(Ia9b89)- 列挙型
valueOf
から例外が多くスローされるようになりました。(I818fe) provideGlance
をメイン エントリ ポイントとして使用するようにGlanceAppWidget
を更新しました。GlanceAppWidget.Content
は非推奨になりました。(I202b5)- 画像に色合いの色を指定するオプションを追加しました。(I26192、b/212418562)
- 非推奨になった非表示関数の戻り値の型の null 可能性を拡大しました。(Ibf7b0)
@JvmDefaultWithCompatibility
アノテーションを追加しました。(I8f206)- 未使用の
SingleEntityTemplateData.displayHeader
を削除しました。(I7f094) - ラムダをコールバックとして使用するためのサポートを追加しました。(Ia0bbd)
DayNightColorProvider
をスナップショット モジュールに移動しました。(I1842c、b/256934779)- テンプレートから
LocalColorProvider
を削除しました。テンプレートでGlanceTheme.colors
が使用されるようになりました(Ic15e2) Text(style: TextStyle)
から null 可能性を削除しました。(I7123b、b/237012816)- デフォルトのテキストの色を黒に変更。null 可能性を削除しました。(I3072c、b/237012816)
- ダイナミック テーマ
ColorProviders
を独自のオブジェクトにします。ResourceColorProvider
をモジュール内部にします。(Id0e2d、b/237012816) - 未定義のカテゴリを
ImageSize
に追加します。(I2fa39) - 非推奨の
GlanceAppWidget.Content
関数を削除しました。(Ib05f6) AndroidRemoteViews
に、パラメータとして修飾子を追加しました。(I515d4)GlanceAppWidget.compose
を追加して単体テストを容易に(Ie9b28)
バグの修正
- スナップショットのテキスト フォントのデモ ウィジェットを追加しました。(I5c3d7)
- 修飾子を使用して
AndroidRemoteViews
をサイズ変更できるようにします。 - テーマの色が一致しない問題を解決
- 競合を回避するためにすべてのリソースに接頭辞が付けられるようになりました
バージョン 1.0.0-alpha05
2022 年 10 月 5 日
androidx.glance:glance:1.0.0-alpha05
、androidx.glance:glance-appwidget:1.0.0-alpha05
、androidx.glance:glance-wear-tiles:1.0.0-alpha05
がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください。
新機能
GlanceAppWidgetManager
にrequestPinGlanceAppWidget
を追加し、ホーム画面に Glance ベースのウィジェットを追加するようユーザーに促すプロンプトをアプリで表示できるようにしました。(Ic6e47)GlanceAppWidgetReceiver
にACTION_DEBUG_UPDATE
を追加し、デベロッパーが、ユーザーに root 権限のあるデバイスとエミュレータ上で adb からウィジェットを強制的に更新できるようにしました。(I94ae1)
API の変更
- Glance テンプレートのヘッダー アクション ボタンを削除し、ユースケースを簡素化しました。(Ie4387)
- ブロック サブシステムの設計を再利用するように、単一エンティティ テンプレートをリファクタリングしました。(Iecd2c)
Text/Image/Action
ブロックの設計を使用するように、Glance リスト テンプレートをリファクタリングしました。(If0cc1)TextBlock
とImageBlock
の優先度の数値の範囲を追加しました。(I73100)
バグの修正
- マテリアル 3 の依存関係を削除しました。(I28d1c)
- Glance テンプレートのレイアウトに余白やスペースを追加できるように、一貫性のあるシステムに移行しました。(I29773)
- 圧縮リリースによるビルドがブロックされていた、不正な形式の Proguard ルールを修正しました。
バージョン 1.0.0-alpha04
2022 年 8 月 10 日
androidx.glance:glance:1.0.0-alpha04
、androidx.glance:glance-appwidget:1.0.0-alpha04
、androidx.glance:glance-wear-tiles:1.0.0-alpha04
がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください。
新機能
- ボタンの色分け機能を追加しました。
- コンパイル時のチェックに役立つ
GlanceComposable
アノテーションを追加しました。 - Wear 固有の Glance 機能を追加しました。
API の変更
- Glance Gallery Data API と簡略ビューを更新しました。(Ibc7a8)
- ボタンを設定するための
ButtonColors
を追加しました。(Iea88d、b/236305351) ColorProvider.resolve
の名前をColorProvider.getColor
に変更しました。(Ic9dfe)TextStyle
にcopy()
メソッドを追加しました。(I9aef6)- Glance のテーマの一部として使用できる
ColorProviders
クラスを追加しました。(I848b9、b/237012816) - リストのスタイルと折りたたみビューにリスト テンプレートのサポートを追加しました。(I50cdc)
GlanceModiier
とGlanceCurvedModifier
にセマンティクスを追加しました。(Ifda7e)GlanceComposable
アノテーションを追加しました。(I5dbf0)- Glance テンプレートをメインの Glance プロジェクトに移動しました。(I9db94)
ColorProvider.resolve()
を追加しました。(Ife532、b/214733442)- 既存の
appWidgetId
からGlanceId
を取得する、または設定アクティビティからインテントを取得する、新しいメソッドを追加しました。(Icb70c、b/230391946) GlanceComposable
アノテーションを追加しました。(I2c21f)GlanceAppWidget
の外部でコンポジションを実行するGlanceRemoteViews
を追加しました。(I18f92)ProgressIndicatorDefaults
の色を削除しました。(I40299)- API レビューのフィードバックに従って公開 API との整合性を保つため、
ActionCallback
の onRun メソッドの名前を onAction に変更しました。(Icfa57) - 地図を使用するように Glance テンプレートのレイアウトを変換しました。(I46bfd)
RadioButton
コンポーザブルを追加しました。(I4ecce)- Wear Tiles を作成するための
GlanceWearTiles
を追加しました。(Ia9f65) GlanceCurvedModifier
にクリック可能な要素を追加しました。(Iec2a0)CurvedRow
をスコープとして実装し、通常のコンポーザブル要素または曲線要素を追加する DSL を作成します。またcurvedLine
とcurvedSpacer
を追加しました。これは proto タイルでそれぞれArcLine
とArcSpacer
に変換されます。(Ib955b)- Tiramisu DP2 と一致するよう core と appcompat の null 可能性を更新しました。(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-alpha03
がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- 状態定義をデフォルトの Preferences に簡略化しました。
API の変更
- 状態処理を、
PreferencesGlanceStateDefinition
をデフォルトの状態処理にすることで簡略化しました。GlanceAppWidget.updateAppWidgetState
を削除し、デフォルトでPreferences
を使用するupdateAppWidgetState
を導入しました。(I58963) - Glance TemplateText クラスを追加し、テンプレート デザインを更新しました。(I4e146)
- Freeform テンプレート用のアウトライン インフラストラクチャを追加しました。(If03d6)
SingleEntityTemplate
レイアウトの更新(If925d)LazyVerticalGrid
を追加しました(I5f442)SingleEntityTemplate
でColorProvider
を使用します(I01ee0)- テンプレート クラス名を更新しました(I3720e)
LinearProgressIndicator
とCircularProgressIndicator
コンポーザブルを追加しました。(Ie116b)
バグの修正
- 初期 glance テンプレートの実装、「単一アイテム テンプレート」データとサンプル テンプレート レイアウトの定義(I35837)
- タイル コンテンツをデフォルトで中央に揃えます(I264be)
- glance-wear-tiles での fillMaxSize / Width / Height のバグを修正しました(I0a39f)
バージョン 1.0.0-alpha02
2022 年 1 月 26 日
androidx.glance:glance-*:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
このリリースには、Compose ランタイムを使用して Wear Tiles を作成するための API セットと、「一目でわかる」ように最適化されたコンポーザブルが含まれています。
GlanceTileService
(コンポーズ可能な Content() 関数内でタイルを作成するサービス)を拡張することにより、Wear Tiles のサービスを宣言します。- Wear Tiles 専用の Glance コンポーザブルとして、
CurvedRow
とCurvedText
があります。 TimelineMode.SingleEntry
とTimelineMode.TimeBoundEntries
を定義することで、タイルのさまざまなタイムライン モードを処理できます。- ローカル コンポジション
LocalTimeInterval
は特定の時間間隔を参照します。 BorderModifer
は、要素の周囲に枠線を付けるGlanceModifier
です。
また、今回のリリースでは、AppWidget Glance に進行状況インジケーターも追加しました。
API の変更
LinearProgressIndicator
とCircularProgressIndicator
コンポーザブルを追加しました。(Ie116b)actionStartBroadcastReceiver
をactionSendBroadcast
に変更しました。(I7d555)GlanceAppWidget
onDelete コールバックにコンテキストを渡すようにしました。(I4c795)
バグの修正
- 空の OPTIONS_APPWIDGET_SIZES が存在する場合の処理を修正しました。(I01f82)
バージョン 1.0.0-alpha01
2021 年 12 月 15 日
androidx.glance:glance:1.0.0-alpha01
、androidx.glance:glance-appwidget:1.0.0-alpha01
、androidx.glance:glance-appwidget-proto:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
初回リリースの機能
- Glance の初回リリースには、Compose Runtime を使用して AppWidget を作成する最初の API セットと、「Glanceables」に最適化された新しいコンポーザブルのセットが含まれています。
機能
- GlanceAppWidget と GlanceAppWidgetReceiver を使用してアプリ ウィジェットを宣言します。
- Glance コンポーザブルの初期のセット(Box、Row、Column、Text、Button、LazyColumn、Image、Spacer)で UI を作成します。
- GlanceModifier メソッドを使用してコンポーザブルに修飾子を適用します。
- 事前定義された Action を使用してユーザー操作を処理します。
- ActionParameters で Action にパラメータを指定します。
- SizeMode.Single、SizeMode.Exact、または SizeMode.Responsive を定義することで、各種のサイズモードを処理します。
- GlanceStateDefinition を指定することで GlanceAppWidget の状態を維持します。
- LocalContext、LocalState、LocalGlanceId、LocalSize などのローカル コンポジション。
- AndroidRemoteViews Composable で、既存の RemoteViews と相互運用します。