スナップ

Jetpack Compose スタイルの API を使用して、リモート サーフェスのレイアウトを作成します。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
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 つの無関係なグループが同じハッシュキーを持つ確率は指数関数的に低くなります。(I4cb6ab/177562901
  • スナップショット Image コンポーザブルと背景画像修飾子のアルファ(0f1f)を指定する新しい API を追加しました。指定しない場合、ソース画像のアルファを保持します。(I8ad05
  • 生成されたプレビュー用の Glance API を追加しました。GlanceAppWidget.providePreview をオーバーライドして、ウィジェットのプレビュー レイアウトを指定します。次に、GlanceAppWidgetManager.setWidgetPreview を呼び出してプレビューを設定します。(Iced16
  • マルチプロセス構成をサポートするために MultiProcessGlanceAppWidget を追加しました。(Idbb90
  • 試験運用版タグを削除し、ラムダをサポートしました。(I74d98b/299361317
  • GlanceAppWidget.runComposition にラムダ レシーバを指定できるようにしました。(I84829
  • previewSize パラメータを requestPinGlanceAppWidget に追加しました。(I9f8f0b/303256067

バグの修正

  • 新しいプラットフォーム API へのアクセスの手動アウトラインを削除しました。これは、AGP 7.3 以降(R8 バージョン 3.3 など)で R8 を使用する場合、および AGP 8.1 以降(D8 バージョン 8.1 など)を使用するすべてのビルドで、API モデリングによって自動的に行われるためです。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 には、これらの commit が含まれています。

セキュリティに関する修正

  • この変更により、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 に含まれる 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
  • ViewfinderImplementationMode 列挙型の名前を変更して基盤となる実装をより適切に反映し、TransformationInfo.sourceRotation の固定定数を追加しました(Ic6149

バグの修正

  • 下位互換モードで ViewGroups のレンダリングの問題が発生するバグを修正しました。(I8de92

外部からの協力

  • 試験運用版の SharedTransitionScope がクラスではなくインターフェースになりました。(Iaf856b/338415048b/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 を追加しました。(I6344cb/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
  • 進行状況インジケーターに一致する isLinearProgressIndicatorisIndeterminateLinearProgressIndicatorisIndeterminateCircularProgressIndicator フィルタを追加しました。追加の hasAnyDescendants フィルタが含まれ、ノードのサブ階層に特定のマッチング条件に一致する子孫があるかどうかをテストします(Ifd426
  • サービス / アクティビティやブロードキャストを開始するクリック アクションのテストができるように、アサーションとフィルタを追加しました。また、入力要素がチェックされているかどうかのテストも含まれます。(I3041c

バージョン 1.0.0

バージョン 1.0.0-alpha06

2024 年 2 月 7 日

androidx.glance:glance-appwidget-preview:1.0.0-alpha06androidx.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 の変更

  • ラムダを受け入れることができるすべての要素に、オプションのキー パラメータを追加しました。(Id96c1b/282445798
  • actionStartActivityActivityOptions バンドルの設定をサポートしました。(I6a08d
  • d、e、f、g パスの公開 API ファイルと試験運用版 API ファイルを統合しました。(I03646b/278769092
  • 該当なし。API ファイルの変更はメソッドの並べ替えのみです(I5fa95
  • GlanceAppWidgetReceiver リクエストの CoroutineContext を設定する API を追加しました。(I0a100
  • リスト内のすべてのアクションに使用される LazyColumnLazyVerticalGridActivityOptions を提供する新しい API を追加しました。(Id8d71

バグの修正

  • 該当なし。API ファイルの変更はメソッドの並べ替えのみです(I5fa95
  • スナップショットのテキスト コンポーネント スタイルのデモ(Ie78a4

バージョン 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 のサポートを追加しました。
  • GlanceAppWidgetWorkManager セッションベースの更新メカニズムに移行しました。AppWidgets の Glance を使用するユーザーは、古い Content メソッドではなく GlanceAppWidget.provideGlance をオーバーライドする必要があります。これがワーカーで行われるようになったため、リソース、データベース、ネットワーク アイテムを読み込むのに適した場所になりました。別途ワーカーを用意する必要はありません。

API の変更

  • ButtonCheckboxRadioButtonSwitch*Defaults API を追加しました。これにより、スナップショットが Jetpack Compose のパターンに近づきます。(I94828
  • 新しい Glance テンプレート モジュール(I94459
  • ResourceColorProvider をモジュール内部にします。互換性を破る変更。ResourceColorProvider はダイナミック テーマ設定にのみ使用する必要があり、一部の色がダイナミック リソースで、一部の色が完全に解決される状況を回避するためです。(Ib0db7
  • TextStyle のオプションとして FontFamily を追加しました。(Ic19bab/274179837
  • Enum.valueOf の値パラメータ名を変更しました。(Ia9b89
  • 列挙型 valueOf から例外が多くスローされるようになりました。(I818fe
  • provideGlance をメイン エントリ ポイントとして使用するように GlanceAppWidget を更新しました。GlanceAppWidget.Content は非推奨になりました。(I202b5
  • 画像に色合いの色を指定するオプションを追加しました。(I26192b/212418562
  • 非推奨になった非表示関数の戻り値の型の null 可能性を拡大しました。(Ibf7b0
  • @JvmDefaultWithCompatibility アノテーションを追加しました。(I8f206
  • 未使用の SingleEntityTemplateData.displayHeader を削除しました。(I7f094
  • ラムダをコールバックとして使用するためのサポートを追加しました。(Ia0bbd
  • DayNightColorProvider をスナップショット モジュールに移動しました。(I1842cb/256934779
  • テンプレートから LocalColorProvider を削除しました。テンプレートで GlanceTheme.colors が使用されるようになりました(Ic15e2
  • Text(style: TextStyle) から null 可能性を削除しました。(I7123bb/237012816
  • デフォルトのテキストの色を黒に変更。null 可能性を削除しました。(I3072cb/237012816
  • ダイナミック テーマ ColorProviders を独自のオブジェクトにします。ResourceColorProvider をモジュール内部にします。(Id0e2db/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-alpha05androidx.glance:glance-appwidget:1.0.0-alpha05androidx.glance:glance-wear-tiles:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください

新機能

  • GlanceAppWidgetManagerrequestPinGlanceAppWidget を追加し、ホーム画面に Glance ベースのウィジェットを追加するようユーザーに促すプロンプトをアプリで表示できるようにしました。(Ic6e47
  • GlanceAppWidgetReceiverACTION_DEBUG_UPDATE を追加し、デベロッパーが、ユーザーに root 権限のあるデバイスとエミュレータ上で adb からウィジェットを強制的に更新できるようにしました。(I94ae1

API の変更

  • Glance テンプレートのヘッダー アクション ボタンを削除し、ユースケースを簡素化しました。(Ie4387
  • ブロック サブシステムの設計を再利用するように、単一エンティティ テンプレートをリファクタリングしました。(Iecd2c
  • Text/Image/Action ブロックの設計を使用するように、Glance リスト テンプレートをリファクタリングしました。(If0cc1
  • TextBlockImageBlock の優先度の数値の範囲を追加しました。(I73100

バグの修正

  • マテリアル 3 の依存関係を削除しました。(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-alpha04 がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください

新機能

  • ボタンの色分け機能を追加しました。
  • コンパイル時のチェックに役立つ GlanceComposable アノテーションを追加しました。
  • Wear 固有の Glance 機能を追加しました。

API の変更

  • Glance Gallery Data API と簡略ビューを更新しました。(Ibc7a8
  • ボタンを設定するための ButtonColors を追加しました。(Iea88db/236305351
  • ColorProvider.resolve の名前を ColorProvider.getColor に変更しました。(Ic9dfe
  • TextStylecopy() メソッドを追加しました。(I9aef6
  • Glance のテーマの一部として使用できる ColorProviders クラスを追加しました。(I848b9b/237012816
  • リストのスタイルと折りたたみビューにリスト テンプレートのサポートを追加しました。(I50cdc
  • GlanceModiierGlanceCurvedModifier にセマンティクスを追加しました。(Ifda7e
  • GlanceComposable アノテーションを追加しました。(I5dbf0
  • Glance テンプレートをメインの Glance プロジェクトに移動しました。(I9db94
  • ColorProvider.resolve() を追加しました。(Ife532b/214733442
  • 既存の appWidgetId から GlanceId を取得する、または設定アクティビティからインテントを取得する、新しいメソッドを追加しました。(Icb70cb/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 を作成します。また curvedLinecurvedSpacer を追加しました。これは proto タイルでそれぞれ ArcLineArcSpacer に変換されます。(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
  • SingleEntityTemplateColorProvider を使用します(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-alpha02 がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。

新機能

このリリースには、Compose ランタイムを使用して Wear Tiles を作成するための API セットと、「一目でわかる」ように最適化されたコンポーザブルが含まれています。

  • GlanceTileService(コンポーズ可能な Content() 関数内でタイルを作成するサービス)を拡張することにより、Wear Tiles のサービスを宣言します。
  • Wear Tiles 専用の Glance コンポーザブルとして、CurvedRowCurvedText があります。
  • TimelineMode.SingleEntryTimelineMode.TimeBoundEntries を定義することで、タイルのさまざまなタイムライン モードを処理できます。
  • ローカル コンポジション LocalTimeInterval は特定の時間間隔を参照します。
  • BorderModifer は、要素の周囲に枠線を付ける GlanceModifier です。

また、今回のリリースでは、AppWidget Glance に進行状況インジケーターも追加しました。

API の変更

  • LinearProgressIndicatorCircularProgressIndicator コンポーザブルを追加しました。(Ie116b
  • actionStartBroadcastReceiveractionSendBroadcast に変更しました。(I7d555
  • 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-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください

初回リリースの機能

  • Glance の初回リリースには、Compose Runtime を使用して AppWidget を作成する最初の API セットと、「Glanceables」に最適化された新しいコンポーザブルのセットが含まれています。

機能