tv

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

依存関係の宣言

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

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

Groovy

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

Kotlin

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

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

フィードバック

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

新しい問題を報告する

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

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

バージョン 1.0.0

バージョン 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
  • API_LEVEL が 28 未満のグロー表示は OS でサポートされていないため、無効にします。(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 で垂直方向にスクロールすると、操作性が悪くなります。