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)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)
バージョン 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) - コンポジション ローカルを介して遅延リストで伝播される
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
で垂直方向にスクロールすると、操作性が悪くなります。