tv

  
テレビ用のアプリを作成するための Compose とマテリアル デザインの機能をデベロッパーに提供します。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2024 年 8 月 21 日 1.0.0 - - -

依存関係の宣言

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

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

Groovy

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

Kotlin

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

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

フィードバック

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

新しい問題を報告する

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

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

TV-Material バージョン 1.0

バージョン 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 については、こちらをご覧ください。

バグの修正

  • サーフェス コンポーザブルでのジッター テキスト アニメーションを修正しました。(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
  • テキスト コンポーネントが安定版になりました。(Ib9e31
  • RadioButton コンポーネントが安定版になりました。(Ia03c8
  • Switch コンポーネントが安定版になりました(I6cea3)。
  • Checkbox コンポーネントが安定版になりました(I7eafc)。
  • サーフェス コンポーネントが安定版になりました。(I58758I04aca
  • NonInteractiveSurfaceDefaults の名前を SurfaceDefaults に、NonInteractiveSurfaceColors の名前を SurfaceColors に変更しました(I0812e)。
  • 選択可能なサーフェスは、セマンティクスの意味が異なるため、「check」ではなく「select」の用語を使用するようになりました(I5a206)。
  • NavigationDrawerNavigationDrawerScope が安定版になりました。(I249c1
  • NavigationDrawerItem コンポーネントが安定版になりました。(Id6986
  • Tab コンポーネントと TabRow コンポーネントが安定版になりました(I92d92)。
  • ButtonOutlinedButtonIconButtonOutlinedIconButtonWideButton コンポーネントが安定版になりました(Ib4de8
  • CardClassicCardCompactCardWideClassicCardStandardCardContainerWideCardContainer コンポーネントが安定版になりました(I34390
  • StandardCardLayout の名前を StandardCardContainer に、WideCardLayout の名前を WideCardContainer に変更しました(I08883)。
  • CardContainerDefaults.ImageCard を削除し、CardDefaults.ContainerGradient の名前を CardDefaults.ScrimBrush に変更しました(I6adfe)。カードコンテナの CardContainerDefaults.ImageCard の代わりに Card を使用できます。
  • ListItemDenseListItem が安定版になりました。(Idebd9
  • ListItemDefaults.ListItemShapeListItemDefaults.FocusedDisabledBorderListItemDefaults.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 を渡すことをおすすめします。独自のコンポーネントでも同様の変更を加えることをおすすめします。(I309b4b/298048146)。
  • TV テキスト コンポーネントの TextAlign パラメータが null ではなくなりました(Ib73b1b/299490814)。
  • 置換する ParagraphTextStyleTextAlignTextDirectionHyphensLineBreak フィールドに特別な未指定の値を導入しました。(I4197eb/299490814

動作の変更

  • 非インタラクティブ Surfaceshape パラメータのデフォルト値が RectangleShape に変更されました(I1b859cb)。
  • 必要な API が試験運用版のため、一部のカルーセル機能はベータ版リリースで削除されています(I0e755d4)。
  • SurfacecontentColor の変更が状態間でアニメーションにならないようにしました(I436e794f)。

バージョン 1.0.0

バージョン 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 ライブラリで非推奨になりました。TV の遅延レイアウトから移行する方法については、こちらのチケットを参照してください。(I0855fb/332674072)。
  • PlatformImeOptions がインターフェースではなく具象クラスになりました。(If40a4)。

バージョン 1.0.0-alpha10

2023 年 10 月 4 日

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

新機能

  • NavigationDrawerModalNavigationDrawer 内で使用される 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-alpha09androidx.tv:tv-material:1.0.0-alpha09 がリリースされました。バージョン 1.0.0-alpha09 に含まれる commit については、こちらをご覧ください。

API の変更

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

バージョン 1.0.0-alpha08

2023 年 7 月 26 日

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

API の変更

  • コンポーネントのスケールの表示にスケーリングを無効にする None を追加しました(I50df5)。
  • TV マテリアル サーフェス、カード、ボタンでの長押しクリックに対応しました(Id2b89)。
  • CarouselItemCarouselScope を削除しました。フォアグラウンド コンテンツのアニメーションは、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-alpha06androidx.tv:tv-material:1.0.0-alpha06 がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください

新機能

  • テレビ用に最適化したマテリアル 3 のカードを追加しました。
    • 基本的なカード(I5b701
    • ClassicCardCompactCardWideClassicCardI70471
    • StandardCardLayoutWideCardLayoutI33fae
  • テレビ用に最適化したマテリアル 3 のボタンを追加しました。
    • 基本的なボタン(I69c11
    • IconButtonOutlinedIconButtonIb504c
    • WideButtonI4cecf

API の変更

  • CarouselCarouselSlideslideCount の名前を CarouselItemitemCount に変更しました(Ie554c)。
  • ContentTransformsforwardbackward の名前を StartToEndEndToStart に変更しました(Ie554c)。

バグの修正

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

バージョン 1.0.0-alpha05

2023 年 3 月 22 日

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

API の変更

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

バージョン 1.0.0-alpha04

2023 年 2 月 8 日

androidx.tv:tv-foundation:1.0.0-alpha04androidx.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
  • カルーセルがアニメーション定義として EnterTransitionExitTransitions ではなく ContentTransforms を受け入れるようになりました。(431494a
  • コンポジション ローカルを介して遅延リストで伝播される PinnableContainer API を導入し、現在のアイテムを固定できるようになりました。(Ib8881b/259274257b/195049010
  • mainAxisItemSpacing プロパティを TvLazyListLayoutInfoTvLazyGridLayoutInfo に追加しました(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-alpha03androidx.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-alpha02androidx.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-alpha01androidx.tv:tv-material:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

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

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

既知の問題

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