テレビ向け Compose

  
テレビ用のアプリを作成するための Compose とマテリアル デザインの機能をデベロッパーに提供します

androidx.tv グループ内のすべてのアーティファクトのリストを以下に示します。

アーティファクト 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
tv-material 1.1.0 - - -
tv-foundation 1.0.0 - - -
このライブラリの最終更新日: 2026 年 5 月 6 日

依存関係の宣言

tv-foundation と tv-material の依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

Groovy

dependencies {
    implementation "androidx.tv:tv-material:1.1.0"
    implementation "androidx.tv:tv-foundation:1.0.0"
}

Kotlin

dependencies {
    implementation("androidx.tv:tv-material:1.1.0")
    implementation("androidx.tv:tv-foundation:1.0.0")
}

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

このアーティファクトのリリースノートはありません。

Tv-Material

バージョン 1.1

バージョン 1.1.0

2026 年 5 月 6 日

androidx.tv:tv-material:1.1.0 がリリースされました。バージョン 1.1.0 にはこれらの commit が含まれています。

バージョン 1.1.0-rc01

2026 年 4 月 8 日

androidx.tv:tv-material:1.1.0-rc01 がリリースされました。バージョン 1.1.0-rc01 には、これらの commit が含まれています。

バージョン 1.1.0-beta01

2026 年 3 月 11 日

androidx.tv:tv-material:1.1.0-beta01 がリリースされました。バージョン 1.1.0-beta01 にはこれらの commit が含まれています。

API の変更

  • Kotlin 2.0 でリリースされたプロジェクトでは、KGP 2.0.0 以降を使用する必要があります(Idb6b5、b/344563182)

外部からの協力

  • androidx.compose.ui.graphics.NativePaint 型エイリアスが非推奨になりました。代わりに android.graphics.Paint を直接使用してください。(I6303c、b/477394763)
  • Paint.asFrameworkPaint() を Paint.nativePaint 拡張機能に置き換え、typealias を介してプラットフォーム タイプが commonMain ソースセットに公開されないようにしました(I6303c、b/477394763)

バージョン 1.1.0-alpha01

2025 年 1 月 15 日

androidx.tv:tv-material:1.1.0-alpha01 がリリースされました。バージョン 1.1.0-alpha01 に含まれる commit については、こちらをご覧ください。

API の変更

  • FocusEnterExitScope.cancelFocus() を cancelFocusChange() に変更(I89959)
  • FocusProperties.enter と FocusProperties.exit は、FocusDirection パラメータの代わりにレシーバー スコープを使用して、それぞれ onEnter と onExit に置き換えられました。(I6e667)

バグの修正

  • スケーリング中にテキストがジッターする問題を修正するため、CompositingStrategy.OffScreen を Surface から Text に移動しました。(I92b15f17)
  • カルーセルのフォーカス管理の破損を修正しました(Ie508b721375)
  • サーフェス(インタラクティブでない)は、インタラクティブなものと比較して実装が簡素化されています。(I7ea545150)

バージョン 1.0

バージョン 1.0.1

2025 年 7 月 16 日

androidx.tv:tv-material:1.0.1 がリリースされました。バージョン 1.0.1 にはこれらの commit が含まれています。

バグの修正

  • 仕様に合わせて NavigationDrawerItem の高さを更新しました。(cf9a3ce)
  • 合成戦略の構成を Surface コンポーザブルから Text コンポーザブルに移動しました。これにより、Android API バージョンが低い場合に Exoplayer が Surface コンポーザブルでレンダリングされないバグが修正されました。(9858ffb)

バージョン 1.0.0

2024 年 8 月 21 日

androidx.tv:tv-material:1.0.0 がリリースされました。バージョン 1.0.0 は androidx.tv:tv-material の最初の安定版リリースです。

バージョン 1.0.0-rc02

2024 年 8 月 7 日

androidx.tv:tv-material:1.0.0-rc02 がリリースされました。バージョン 1.0.0-rc02 にはこれらの commit が含まれています。

バグの修正

  • Surface コンポーザブルのテキスト アニメーションのちらつきを修正しました。(3163319)

バージョン 1.0.0-rc01

2024 年 7 月 10 日

androidx.tv:tv-material:1.0.0-rc01 がリリースされました。バージョン 1.0.0-rc01 には、これらの commit が含まれています。

バージョン 1.0.0-beta01

2024 年 5 月 1 日

androidx.tv:tv-material:1.0.0-beta01 がリリースされました。バージョン 1.0.0-beta01 にはこれらの commit が含まれています。

API の変更

  • ColorScheme とそのユーティリティ関数が安定版になりました(If34fa)。
  • LocalContentColor が安定版になりました。(I60ee2)
  • Typography API が安定版になりました(I088d6)
  • Shapes API が安定版になりました(I0f5f4)
  • Border API が安定版になりました(I69281)
  • Glow API が安定版になりました(Iea5f1)
  • アイコン コンポーネントが安定版になりました(I62c2d)
  • LocalTextStyles API が安定版になりました(Iaded8)
  • MaterialTheme API が安定版になりました。(I2f541)
  • Text コンポーネントが安定版になりました(Ib9e31)
  • RadioButton コンポーネントが安定版になりました(Ia03c8)
  • 切り替えコンポーネントが安定版になりました(I6cea3)
  • Checkbox コンポーネントが安定版になりました(I7eafc)
  • Surface コンポーネントが安定版になりました(I58758、I04aca)
  • NonInteractiveSurfaceDefaults の名前を SurfaceDefaults に、NonInteractiveSurfaceColors の名前を SurfaceColors に変更しました(I0812e)
  • 選択可能なサーフェスで、「チェック」ではなく「選択」という用語が使用されるようになりました。これは、両者のセマンティクスが異なるためです(I5a206)
  • NavigationDrawer と NavigationDrawerScope が安定版になりました(I249c1)
  • NavigationDrawerItem コンポーネントが安定版になりました(Id6986)
  • Tab コンポーネントと TabRow コンポーネントが安定版になりました(I92d92)
  • Button、OutlinedButton、IconButton、OutlinedIconButton、WideButton コンポーネントが安定版になりました(Ib4de8)
  • Card、ClassicCard、CompactCard、WideClassicCard、StandardCardContainer、WideCardContainer コンポーネントが安定版になりました(I34390)
  • StandardCardLayout の名前を StandardCardContainer に、WideCardLayout の名前を WideCardContainer に変更しました(I08883)
  • CardContainerDefaults.ImageCard を削除し、CardDefaults.ContainerGradient を CardDefaults.ScrimBrush に名前変更しました(I6adfe)。カード コンテナで CardContainerDefaults.ImageCard の代わりに Card を使用できます。
  • ListItem と DenseListItem が安定版になりました(Idebd9)
  • ListItemDefaults.ListItemShape、ListItemDefaults.FocusedDisabledBorder、ListItemDefaults.SelectedContainerColorOpacity が非公開になりました(I5d533)
  • ListItem のパラメータを再配置し、ListItemDefaults.ListItemElevation の名前を ListItemDefaults.TonalElevation に変更しました(Id6841)。headlineContent パラメータがコンポーザブルの先頭に移動しました。以前は、Kotlin の後置ラムダ構文を使用して headlineContent を渡すことができましたが、現在は名前付きパラメータ構文を使用して headlineContent を指定する必要があります。
  • LocalAbsoluteTonalElevation が内部になりました(Ibfc65)
  • ImmersiveList コンポーネントが削除されました。このサンプルで、自分で構築する方法をご確認ください。(Id48da)
  • API で MutableInteractionSource を公開する tv-material コンポーネントが更新され、デフォルトで null になる null 許容の MutableInteractionSource を公開するようになりました。セマンティクスの変更はありません。null を渡すことは、MutableInteractionSource をホイストしないことを意味し、必要に応じてコンポーネント内で作成されます。null に変更すると、一部のコンポーネントで MutableInteractionSource を割り当てないようにしたり、他のコンポーネントで必要なときにのみインスタンスを遅延作成したりできるようになり、これらのコンポーネント全体のパフォーマンスが向上します。これらのコンポーネントに渡す MutableInteractionSource を使用していない場合は、代わりに null を渡すことをおすすめします。独自のコンポーネントでも同様の変更を行うことをおすすめします。(I309b4、b/298048146)
  • TV Text コンポーネントの TextAlign パラメータが非 null になりました(Ib73b1、b/299490814)
  • ParagraphTextStyle の TextAlign、TextDirection、Hyphens、LineBreak フィールドを置き換えるための特別な Unspecified 値を導入しました(I4197e、b/299490814)

動作の変更

  • 非インタラクティブ Surface の shape パラメータのデフォルト値が RectangleShape に変更されました(I1b859cb)
  • 必要な API が試験運用版であるため、ベータ版のリリースでは一部のカルーセル機能が削除されました(I0e755d4)
  • Surface の contentColor を変更しても、状態間のアニメーションは行われなくなりました(I436e794f)

Tv-Foundation

バージョン 1.0

バージョン 1.0.0

2026 年 5 月 6 日

androidx.tv:tv-foundation:1.0.0 がリリースされました。バージョン 1.0.0 に含まれる commit については、こちらをご覧ください。

バージョン 1.0.0-rc01

2026 年 4 月 8 日

androidx.tv:tv-foundation:1.0.0-rc01 がリリースされました。バージョン 1.0.0-rc01 には、これらの commit が含まれています。

バージョン 1.0.0-beta01

2026 年 3 月 11 日

androidx.tv:tv-foundation:1.0.0-beta01 がリリースされました。バージョン 1.0.0-beta01 にはこれらの commit が含まれています。

API の変更

  • Kotlin 2.0 でリリースされたプロジェクトでは、KGP 2.0.0 以降を使用する必要があります(Idb6b5、b/344563182)

バージョン 1.0.0-alpha12

2025 年 1 月 15 日

androidx.tv:tv-foundation:1.0.0-alpha12 がリリースされました。バージョン 1.0.0-alpha12 に含まれる commit については、こちらをご覧ください。

API の変更

  • tv-foundation からレイジー レイアウトをクリーンアップします。tv-foundation レイジー レイアウトから移行するには、1.0.0-alpha11 のリリースノートを参照してください。(I2fdd3、b/358913893)

バージョン 1.0.0-alpha11

2024 年 7 月 10 日

androidx.tv:tv-foundation:1.0.0-alpha11 がリリースされました。バージョン 1.0.0-alpha11 に含まれる commit については、こちらをご覧ください。

API の変更

  • tv-foundation ライブラリの Tv Lazy Layouts は非推奨になりました。tv lazy layouts から移行する方法については、こちらのチケットを参照してください。(I0855f、b/332674072)
  • PlatformImeOptions がインターフェースではなく具象クラスになりました。(If40a4)

バージョン 1.0.0-alpha10

2023 年 10 月 4 日

androidx.tv:tv-foundation:1.0.0-alpha10 と androidx.tv:tv-material:1.0.0-alpha10 がリリースされました。バージョン 1.0.0-alpha10 に含まれる commit については、こちらをご覧ください。

新機能

  • NavigationDrawer と ModalNavigationDrawer 内で使用する NavigationDrawerItem を導入しました。(I4b491)
  • tv-foundation ライブラリにベースライン プロファイルを追加します。(2b57fd7)
  • tv-material ライブラリにベースライン プロファイルを追加(1711ff5)

API の変更

  • NavigationDrawerScope.doesTabRowHaveFocus の名前を NavigationDrawerScope.hasFocus に変更しました(I8286b)
  • TabRowScope.isActivated の名前を TabRowScope.hasFocus に変更しました(Ic4273)

バグの修正

  • フォーカス復元 API を使用する隣接アイテムとのカルーセルの互換性を修正しました。(7b2a7a4)
  • OS でサポートされていないため、API_LEVEL が 28 未満の場合は光るインジケーターを無効化。(6d3616f)
  • 逆方向に高速スクロールしたときに、遅延コンテナ内のアイテムの配置が不適切なことが原因で発生する ANR クラッシュを修正しました。(642d65c)
  • モーダル ナビゲーション ドロワーの背景パディングを削除しました。(69965b2)
  • ナビゲーション ドロワーのスクリムが、背景コンテンツの背後ではなく上に描画されるように修正しました。(d4bbefb)

バージョン 1.0.0-alpha09

2023 年 9 月 6 日

androidx.tv:tv-foundation:1.0.0-alpha09 と androidx.tv:tv-material:1.0.0-alpha09 がリリースされました。バージョン 1.0.0-alpha09 に含まれる commit については、こちらをご覧ください。

API の変更

  • サブコンポジションのライフサイクルと再利用を管理する ReusableComposition インターフェースを追加しました(I812d1、b/252846775)。
  • tv-foundation フォークを compose-foundation と同期しました(I737c3、b/287011882)。
  • LazyLayout のオーバーロードを追加しました。これはこれまでのプレーンなオブジェクではなく、LazyLayoutItemProvider のラムダに対応しています。これまでのオーバーロードは非推奨になっています(I42a5a)。
  • TvKeyboardAlignment を追加して、デベロッパーが AndroidImeOptions から画面キーボードの位置を設定できるようにしました(Idb772)。
  • rememberCarouselState を追加して、Saver で CarouselState を TV Compose マテリアルに残せるようにしました(Id7275)。
  • scrimColor: Color パラメータを scrimBrush:Brush パラメータに変更して、ユーザーがグラデーションをスクリムに追加できるようにしました(I254d4)。

バージョン 1.0.0-alpha08

2023 年 7 月 26 日

androidx.tv:tv-foundation:1.0.0-alpha08 と androidx.tv:tv-material:1.0.0-alpha08 がリリースされました。バージョン 1.0.0-alpha08 に含まれる commit については、こちらをご覧ください。

新機能

  • Compose for TV マテリアルに Chip コンポーネントを導入しました(I86da4)。
  • ListItem コンポーネントを TV Compose マテリアルに追加しました(I3f0b3)。
  • DenseListItem コンポーネントを TV Compose マテリアルに追加しました(I536bf)。

API の変更

  • 公開 tv-material API を試験運用版としてマークしました(I632e7)。
  • TabRow コンポーザブルの状態をタブ コンポーザブルと共有する TabRowScope を導入し、TabColors プロパティの名前を変更しました(Ief587)。

バージョン 1.0.0-alpha07

2023 年 6 月 7 日

androidx.tv:tv-foundation:1.0.0-alpha07 と androidx.tv:tv-material:1.0.0-alpha07 がリリースされました。バージョン 1.0.0-alpha07 に含まれる commit については、こちらをご覧ください。

API の変更

  • コンポーネントのスケールの表示にスケーリングを無効にする None を追加しました(I50df5)。
  • TV マテリアル サーフェス、カード、ボタンでの長押しクリックに対応しました(Id2b89)。
  • CarouselItem と CarouselScope を削除しました。フォアグラウンド コンテンツのアニメーションは、AnimatedContentScope から Modifier.animateEnterExit を使ってスライドで実現できます(Ic038e)。
  • TV マテリアル サーフェスの color パラメータと contentColor パラメータを colors に統合しました(Ie69eb)。
  • TV マテリアルに RadioButton コンポーザブルを導入しました(I08690)。
  • TV マテリアルに Switch コンポーザブルを導入しました(I45e29)。
  • TV マテリアルに Checkbox コンポーザブルを導入しました(I6a45a)。
  • TV マテリアルに non-interactable サーフェスを導入しました(Ic5f85)。
  • 表示を内部にしました(Ibff82)。

バージョン 1.0.0-alpha06

2023 年 4 月 19 日

androidx.tv:tv-foundation:1.0.0-alpha06 と androidx.tv:tv-material:1.0.0-alpha06 がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください。

新機能

  • テレビ用に最適化したマテリアル 3 のカードを追加しました。
    • 基本的なカード(I5b701)
    • ClassicCard、CompactCard、WideClassicCard(I70471)
    • StandardCardLayout、WideCardLayout(I33fae)
  • テレビ用に最適化したマテリアル 3 のボタンを追加しました。
    • 基本的なボタン(I69c11)
    • IconButton、OutlinedIconButton(Ib504c)
    • WideButton(I4cecf)

API の変更

  • Carousel の CarouselSlide と slideCount の名前を CarouselItem と itemCount に変更しました(Ie554c)。
  • ContentTransforms の forward と backward の名前を StartToEnd と EndToStart に変更しました(Ie554c)。

バグの修正

  • NavigationDrawer にフォーカスしているときに D-pad の戻るボタンを処理できるようにしました(d654f4)。

バージョン 1.0.0-alpha05

2023 年 3 月 22 日

androidx.tv:tv-foundation:1.0.0-alpha05 と androidx.tv:tv-material:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください。

API の変更

  • サイド ナビゲーション ドロワー コンポーザブルを tv-material に導入しました。このコンポーザブルの使用方法について詳しくは、サンプルをご覧ください(I12c08)。
  • アイコン コンポーザブルを TV マテリアル 3 に導入しました(I72db9)。
  • 枠線、グロー、スケールなどの表示のあるサーフェス コンポーザブルを tv-material に導入しました。これを使用してテレビ画面のフォーカスされている要素を明確にハイライトするコンポーネントを構築できます(I4a6d8)、 (Iceea1)、 (Iee4d4)、 (I79edf)、 (Icb376)
  • カルーセル API の CarouselItem を CarouselSlide に更新し、slideCount パラメータ名と一致させました(Ic4299)。

バージョン 1.0.0-alpha04

2023 年 2 月 8 日

androidx.tv:tv-foundation:1.0.0-alpha04 と androidx.tv:tv-material:1.0.0-alpha04 がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください。

新機能

  • 遅延行、列、グリッドでは、必要に応じて、アイテム全体がビューに入るようにピボットがオーバーライドされます。(11d7e40)
  • さまざまな状態でタブの色をカスタマイズできるようにしました。(21b2925)
  • カルーセルで、前後の手動スクロールにカスタム アニメーションを使用できるようになりました。(431494a)

API の変更

  • androidx.tv.material の名前を androidx.tv.material3 に変更し、パッケージ構造を androidx.tv.material3 の下にフラット化しました。(I6ca52)
  • Carousel Indicator 行内のインジケーターが、デベロッパーがカスタマイズできるスロットになりました。(268af2a)
  • focusableItem の名前を immersiveListItem に変更しましたユーザーは手動で focusable() または clickable() 修飾子を immersiveListItem に追加することが必要になります(5dd5078)(b/263061052)
  • Carousel コンポーネントの timeToDisplayMillis の名前を autoScrollDurationMillis に変更しました。(431494a)
  • CarouselItem の使用が Carousel 内だけに制限されました。(431494a)
  • カルーセルがアニメーション定義として EnterTransition と ExitTransitions ではなく ContentTransforms を受け入れるようになりました。(431494a)
  • コンポジション ローカルを介して遅延リストで伝播される PinnableContainer API を導入し、現在のアイテムを固定できるようになりました。(Ib8881、b/259274257、b/195049010)
  • mainAxisItemSpacing プロパティを TvLazyListLayoutInfo と TvLazyGridLayoutInfo に追加しました(I37765)

バグの修正

  • タブ行を更新して、0 または 1 のタブ数を正しく処理するようにしました。(I44009)、(1c01525)、(b/264018028)
  • TvLazyColumn に空の TvLazyRow が含まれている場合のフォーカス検索のクラッシュを修正しました。(e11b4fe)、(b/260299091)
  • clickable 修飾子が ImmersiveList で動作するようになりました。(5dd5078)、(b/263061052)
  • 戻るキーが処理され、フィーチャー カルーセルから離れるために使用されるようになりました。(84c138c)
  • カルーセルが、キーをすばやく複数回押してもフォーカスを失わなくなりました。(799489f)
  • カルーセルが、キーを長押ししてもフォーカスを失わなくなりました。(b2cf37e)
  • カルーセルのスライド数が変更されたときにクラッシュする問題を修正しました。(b261247)

バージョン 1.0.0-alpha03

2022 年 12 月 7 日

androidx.tv:tv-foundation:1.0.0-alpha03 と androidx.tv:tv-material:1.0.0-alpha03 がリリースされました。バージョン 1.0.0-alpha03 に含まれるコミットについては、こちらをご覧ください。

新機能

  • TabRow が試験運用版 API として利用できるようになりました。これによりユーザーはアプリにトップ ナビゲーション バーを追加できます。一般的に、テレビデバイスではタブ行のタブタイトルがフォーカスされたときにタブが読み込まれることを想定しています。
  • 下線インジケーターやピル インジケーターといったテレビ固有のインジケーターをすぐに使用できます。tv-samples で使用例を確認できます。

バージョン 1.0.0-alpha02

2022 年 11 月 9 日

androidx.tv:tv-foundation:1.0.0-alpha02 と androidx.tv:tv-material:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。

バグの修正

  • フォーカスの検索スペースを縮小することにより、TvLazyRows/TvLazyColumns のコレクションをスクロールする際の操作性を改善しました。(I723a3)

バージョン 1.0.0-alpha01

2022 年 10 月 5 日

androidx.tv:tv-foundation:1.0.0-alpha01 と androidx.tv:tv-material:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。

新機能

最初のアルファ版には、テレビのユースケース向けに、次のようなコンポーネントの初期プレビュー実装が含まれています。

  • scrollableWithPivot 修飾子を追加して、Row、Column、Grid などの非遅延スクロール コンテナで、スクロール コンテナがコンテンツをスクロールさせ、フォーカスされているアイテムがテレビ画面上の同じ位置に表示されたままになるようにしました。
  • コンポーザブル TvLazyRow、TvLazyColumn、TvLazyHorizontalGrid、TvLazyVerticalGrid を追加して、スクロール コンテナがコンテンツをスクロールさせ、フォーカスされているアイテムをテレビ画面上の同じ位置に表示されたままになるようにしました。
  • テレビ用の推奨カルーセル コンポーザブルを追加して、ユーザーが自動スクロールのバナー カルーセルを作成できるようにしました。
  • テレビ用の没入型リスト コンポーザブルを追加して、フォーカスされているリストアイテムに基づいて背景を変更する没入型の Row、Column、Grid を作成できるようにしました。

既知の問題

  • スクロール コンテナがフォーカスを取得する際に、最初の要素はデフォルトでフォーカスを取得しません。
  • TextField にフォーカスしてもキーボードが開かないことがあり、他のフィールドにフォーカスを移動できなくなることもあります。
  • LazyRows を含む LazyColumn で垂直方向にスクロールすると、操作性が悪くなります。