tv
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
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)。- サーフェス コンポーネントが安定版になりました。(I58758、I04aca)
NonInteractiveSurfaceDefaults
の名前をSurfaceDefaults
に、NonInteractiveSurfaceColors
の名前をSurfaceColors
に変更しました(I0812e)。- 選択可能なサーフェスは、セマンティクスの意味が異なるため、「check」ではなく「select」の用語を使用するようになりました(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 テキスト コンポーネントの
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-alpha11
2024 年 7 月 10 日
androidx.tv:tv-foundation:1.0.0-alpha11
がリリースされました。バージョン 1.0.0-alpha11 に含まれる commit については、こちらをご覧ください。
API の変更
- TV Lazy Layouts は tv-foundation ライブラリで非推奨になりました。TV の遅延レイアウトから移行する方法については、こちらのチケットを参照してください。(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
で垂直方向にスクロールすると、操作性が悪くなります。