tv
| 最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
|---|---|---|---|---|
| 2025 年 7 月 16 日 | 1.0.1 | - | - | 1.1.0-alpha01 |
依存関係の宣言
tv-foundation と tv-material の依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-alpha12" implementation "androidx.tv:tv-material:1.1.0-alpha01" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha12") implementation("androidx.tv:tv-material:1.1.0-alpha01") }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
このアーティファクトのリリースノートはありません。
Tv-Material バージョン 1.1
バージョン 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) - Carousel のフォーカス管理の破損を修正しました(Ie508b721375)
- Surface(インタラクティブでない)は、インタラクティブなものに比べて実装が簡素化されています。(I7ea545150)
Tv-Material バージョン 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)TypographyAPI が安定版になりました(I088d6)- Shapes API が安定版になりました(I0f5f4)
- Border API が安定版になりました(I69281)
- Glow API が安定版になりました(Iea5f1)
- アイコン コンポーネントが安定版になりました(I62c2d)
LocalTextStylesAPI が安定版になりました(Iaded8)MaterialThemeAPI が安定版になりました。(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)
バージョン 1.0.0
バージョン 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 Lazy Layouts は tv-foundation ライブラリから非推奨になりました。テレビのレイジー レイアウトから移行する方法については、こちらのチケットを参照してください。(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 のカードを追加しました。
- テレビ用に最適化したマテリアル 3 のボタンを追加しました。
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) - コンポジション ローカルを介して遅延リストで伝播される
PinnableContainerAPI を導入し、現在のアイテムを固定できるようになりました。(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で垂直方向にスクロールすると、操作性が悪くなります。