tv
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
2025 年 1 月 15 日 | 1.0.0 | - | - | 1.1.0-alpha01 |
依存関係の宣言
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.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
をサーフェスからテキストに移動しました。(I92b15f17) - カルーセルのフォーカス管理の不具合を修正しました。(Ie508b721375)
- サーフェス(インタラクティブではない)は、インタラクティブなサーフェスと比較して実装が簡素化されています。(I7ea545150)
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)- スイッチ コンポーネントが安定しました(I6cea3)
Checkbox
コンポーネントが安定版になりました(I7eafc)- サーフェス コンポーネントが安定しました。(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
フィールドに、置換用の特別な未指定の値を導入しました。(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 遅延レイアウトは 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
で垂直方向にスクロールすると、操作性が悪くなります。