tv
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
2024 年 5 月 1 日 | - | - | 1.0.0-beta01 | - |
依存関係の宣言
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-beta01" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha10") implementation("androidx.tv:tv-material:1.0.0-beta01") }
依存関係について詳しくは、ビルド依存関係の追加をご覧ください。
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
このアーティファクトのリリースノートはありません。
Tv-Material バージョン 1.0
バージョン 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)- Selectable Surface は、セマンティクスの意味が異なるため、「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)ListItem
とDenseListItem
が安定版になりました。(Idebd9)ListItemDefaults.ListItemShape
、ListItemDefaults.FocusedDisabledBorder
、ListItemDefaults.SelectedContainerColorOpacity
が非公開になりました。(I5d533)ListItem
のパラメータを変更し、ListItemDefaults.ListItemElevation
の名前をListItemDefaults.TonalElevation
に変更しました。(Id6841)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)
バージョン 1.0.0
バージョン 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)
- 28 未満の API_LEVEL のグロー インジケーションは OS でサポートされていないため、無効にします。(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
で垂直方向にスクロールすると、操作性が悪くなります。