Leanback

使用 Compose for TV 而不是此工件。
最新更新 稳定版 候选发布版 Beta 版 Alpha 版
2023 年 11 月 15 日 1.0.0 1.1.0-rc02 - 1.2.0-alpha04

声明依赖项

要添加对 Leanback 的依赖项,您必须将 Google Maven 存储库添加到您的项目中。阅读 Google 的 Maven 存储库 以了解更多信息。

在应用或模块的 build.gradle 文件中添加所需工件的依赖项

Groovy

dependencies {
    def leanback_version = "1.2.0-alpha04"

    implementation "androidx.leanback:leanback:$leanback_version"

    // leanback-preference is an add-on that provides a settings UI for TV apps.
    implementation "androidx.leanback:leanback-preference:$leanback_version"

    // leanback-paging is an add-on that simplifies adding paging support to a RecyclerView Adapter.
    implementation "androidx.leanback:leanback-paging:1.1.0-alpha11"

    // leanback-tab is an add-on that provides customized TabLayout to be used as the top navigation bar.
    implementation "androidx.leanback:leanback-tab:1.1.0-beta01"
}

Kotlin

dependencies {
    val leanback_version = "1.2.0-alpha04"

    implementation("androidx.leanback:leanback:$leanback_version")

    // leanback-preference is an add-on that provides a settings UI for TV apps.
    implementation("androidx.leanback:leanback-preference:$leanback_version")

    // leanback-paging is an add-on that simplifies adding paging support to a RecyclerView Adapter.
    implementation("androidx.leanback:leanback-paging:1.1.0-alpha11")

    // leanback-tab is an add-on that provides customized TabLayout to be used as the top navigation bar.
    implementation("androidx.leanback:leanback-tab:1.1.0-beta01")
}

有关依赖项的更多信息,请参阅 添加构建依赖项

反馈

您的反馈有助于改进 Jetpack。如果您发现新问题或有改进此库的想法,请告诉我们。在您创建新问题之前,请查看此库中 已存在的问题。您可以通过点击星形按钮为现有问题添加您的投票。

创建新问题

查看 问题跟踪器文档 以了解更多信息。

Leanback-Grid 版本 1.0.0

版本 1.0.0-alpha03

2023 年 11 月 15 日

androidx.leanback:leanback-grid:1.0.0-alpha03 已发布。 版本 1.0.0-alpha03 包含这些提交。

依赖项更新

版本 1.0.0-alpha02

2023 年 9 月 6 日

androidx.leanback:leanback-grid:1.0.0-alpha02 已发布。 版本 1.0.0-alpha02 包含以下提交。

API 更改

  • 使 setFocusOutAllowed 公开以允许以编程方式设置焦点退出属性。 (Iebd99)

错误修复

  • 通过设置 a11y 节点信息类名来确保网格被 a11y 服务视为网格。 (I12812)
  • 在下降到平滑滚动时添加缺少的导航声音。 (f49767)

版本 1.0.0-alpha01

2021 年 11 月 17 日

androidx.leanback:leanback-grid:1.0.0-alpha01 已发布。 版本 1.0.0-alpha01 包含以下提交。

新功能

  • 将以下类/接口从 leanback 移动到新的 leanback-grid 库:BaseGridViewFacetProviderFacetProviderAdapterGridLayoutManagerHorizontalGridViewItemAlignmentFacetOnChildLaidOutListenerOnChildSelectedListenerOnChildViewHolderSelectedListenerVerticalGridViewViewHolderTaskVisibility。 此更改保留了二进制兼容性。 任何只想使用 leanback 网格视图组件的人都可以直接使用 leanback-grid 作为依赖项。 (If1e49)

Leanback Leanback-Preference 版本 1.2.0

版本 1.2.0-alpha04

2023 年 11 月 15 日

androidx.leanback:leanback:1.2.0-alpha04androidx.leanback:leanback-preference:1.2.0-alpha04 已发布。 版本 1.2.0-alpha04 包含以下提交。

错误修复

依赖项更新

  • 将 recyclerview 要求更新为 1.3.2 以修复 TV 应用中常见的崩溃

版本 1.2.0-alpha03

2023 年 9 月 6 日

androidx.leanback:leanback:1.2.0-alpha03androidx.leanback:leanback-preference:1.2.0-alpha03 已发布。 版本 1.2.0-alpha03 包含以下提交。

API 更改

  • 添加了 GuidedActionAppCompatEditText 以更好地支持 AppCompat 主题。 (ab7cf1dc954d)

版本 1.2.0-alpha02

2021 年 11 月 17 日

androidx.leanback:leanback:1.2.0-alpha02androidx.leanback:leanback-preference:1.2.0-alpha02 已发布。 版本 1.2.0-alpha02 包含以下提交。

新功能

  • 将以下类/接口从 leanback 移动到新的 leanback-grid 库:BaseGridViewFacetProviderFacetProviderAdapterGridLayoutManagerHorizontalGridViewItemAlignmentFacetOnChildLaidOutListenerOnChildSelectedListenerOnChildViewHolderSelectedListenerVerticalGridViewViewHolderTaskVisibility。 此更改保留了二进制兼容性。 任何只想使用 leanback 网格视图组件的人都可以直接使用 leanback-grid 作为依赖项。 (If1e49)

版本 1.2.0-alpha01

2021 年 7 月 21 日

androidx.leanback:leanback:1.2.0-alpha01androidx.leanback:leanback-preference:1.2.0-alpha01 已发布。 版本 1.2.0-alpha01 包含以下提交。

新功能

  • 使 leanback GridLayoutManager 公开并在 BaseGridView 中可交换。 (f316b5)

API 更改

  • 使 leanback GridLayoutManager 公开并在 BaseGridView 中可交换。 (f316b5)

版本 1.1.0

Leanback 版本 1.1.0-rc02

2021 年 7 月 21 日

androidx.leanback:leanback:1.1.0-rc02 已发布。 版本 1.1.0-rc02 包含以下提交。

错误修复

  • 修复了详细信息片段背景错误。 (40d8e3)

Leanback Leanback-Preference 版本 1.1.0-rc01

2021 年 4 月 7 日

androidx.leanback:leanback:1.1.0-rc01androidx.leanback:leanback-preference:1.1.0-rc01 已发布。 版本 1.1.0-rc01 包含以下提交。

Leanback-Paging 版本 1.1

版本 1.1.0-alpha11

2023 年 11 月 15 日

androidx.leanback:leanback-paging:1.1.0-alpha11 已发布,没有更改。 版本 1.1.0-alpha11 包含以下提交。

版本 1.1.0-alpha10

2023 年 9 月 6 日

androidx.leanback:leanback-paging:1.1.0-alpha10 已发布。 版本 1.1.0-alpha10 包含以下提交。

新功能

  • 将 leanback-paging 更新为 Paging 3.1.0。 (882ed1)

Leanback-Paging 版本 1.1.0-alpha09

2021 年 11 月 17 日

androidx.leanback:leanback-paging:1.1.0-alpha09 已发布。 版本 1.1.0-alpha09 包含以下提交。

错误修复

  • 更新为使用最新的分页 API。

Leanback-Paging 版本 1.1.0-alpha08

2021 年 7 月 21 日

androidx.leanback:leanback-paging:1.1.0-alpha08 已发布。 版本 1.1.0-alpha08 包含以下提交。

API 更改

  • 在 PagingDataAdapter 中添加了 .peek().snapshot() API,允许检查呈现的数据而不触发页面获取。 (Ic8917)

Leanback-Paging 版本 1.1.0-alpha07

2021 年 1 月 13 日

androidx.leanback:leanback-paging:1.1.0-alpha07 已发布。 版本 1.1.0-alpha07 包含以下提交。

API 更改

  • 更新了便利属性 CombinedLoadStates.refreshCombinedLoadStates.prependCombinedLoadStates.append,以仅在中介和源加载状态均为 NotLoading 后从 Loading 过渡到 NotLoading,以确保已应用远程更新。 (I65619)

Leanback Leanback-Preference Leanback-Tab 版本 1.1.0-beta01

2020 年 12 月 2 日

androidx.leanback:leanback:1.1.0-beta01androidx.leanback:leanback-preference:1.1.0-beta01androidx.leanback:leanback-tab:1.1.0-beta01 已发布。 版本 1.1.0-beta01 包含以下提交。

错误修复

  • 修复将 VerticalGridSupportFragment 推送到回退栈时出现的视图泄漏 (Iaac69b/171909417)
  • 修复将 BrowseSupportFragment 推送到回退栈时出现的视图泄漏 (I34483b/171909417)
  • 修复将 DetailsSupportFragment 推送到回退栈时出现的视图泄漏 (Ifec9eb/171909417)
  • 修复将 RowsSupportFragment 推送到回退栈时出现的视图泄漏 (I985d4b/171909417)
  • 修复 GuidedStepSupportFragment 背景过渡动画。 (I86d15b/173647688)
  • 修复在还原 GuidedStepSupportFragment 时发生的 IllegalArgumentException (Ic829fb/172000115)
  • 修复 GridLayoutManager 在 clearFocus() 时在 findContainingItemView() 中发生的 NullPointerException (Id0e42)

Leanback-Paging 版本 1.1.0-alpha06

2020 年 12 月 2 日

androidx.leanback:leanback-paging:1.1.0-alpha06 已发布。 版本 1.1.0-alpha06 包含以下提交。

API 更改

  • dataRefreshFlow/dataRefreshListener API 已被删除,因为它们与 loadStateFlow/Listener 更新冗余。 对于那些迁移的人来说,loadStateFlow 等价物是

    loadStateFlow.distinctUntilChangedBy { it.refresh }
        .filter { it.refresh is NotLoading }
    

    (Ib5570b/173530908)

  • 使用 replaceWith 子句完全弃用 dataRefreshFlow/Listener 方法。 (I6e2dd)

版本 1.1.0-alpha05

2020 年 10 月 1 日

androidx.leanback:leanback-*:1.1.0-alpha05 已发布。 版本 1.1.0-alpha05 包含以下提交。

新功能

  • 让 A11Y 导航尊重 GridLayoutManager focusOutFront 和 focusOutEnd 属性。 (b/161390258)

错误修复

  • 修复 GuidanceStylist.onDestroyView() 中的视图泄漏 (b/164841457)
  • 修复 GridLayoutManager 中的 ConcatAdapter (b/165694295)
  • leanback-tab:Javadoc 改进和次要代码重构 (aosp/1393383)
  • 从 API 中删除 setRecyclerView 方法,该方法是在 RecyclerView 上弃用同一方法时添加的。 更新 leanback 库以使用 RecyclerView 的新 addRecyclerListener API 方法。 (I14798)

版本 1.1.0-alpha04

2020 年 8 月 11 日

androidx.leanback:leanback:1.1.0-alpha04androidx.leanback:leanback-paging:1.1.0-alpha04androidx.leanback:leanback-preference:1.1.0-alpha04androidx.leanback:leanback-tab:1.1.0-alpha04 已发布。 版本 1.1.0-alpha04 包含以下提交。

新功能

  • LeanbackTabLayout 在 浏览体验 中提供顶层导航(通常水平显示在应用程序的顶部)。
  • Leanback 的分页简化了向 RecyclerView.Adapter 添加分页支持。
  • 为 leanback 添加了 appcompat 主题,这将简化移动和 TV 之间单个代码库的创建。

API 更改

  • 添加了基于 asyncpagingdatadiffer 的适配器,用于 leanback 小部件 (If0dfe)
  • 添加自定义 TabLayout 用作 leanback 中的顶层导航栏 (I1e304)

版本 1.1.0-alpha03

2019 年 12 月 18 日

androidx.leanback:leanback:1.1.0-alpha03androidx.leanback:leanback-preference:1.1.0-alpha03 已发布。 Leanback 版本 1.1.0-alpha03 包含以下提交Leanback-Preference 版本 1.1.0-alpha03 包含以下提交

新功能

  • BaseGridView 现在支持自定义滚动速度 (aosp/952718)
  • 使引导步骤项目触摸更加友好 (aosp/1167964)
  • 公开了 BaseGridView OnLayoutCompleteListener,以便应用程序可以在布局通过后执行视图转换。 (aosp/1164409)

API 更改

  • 添加了新的 API 以允许自定义 BaseGridView 滚动速度 (aosp/952718)
  • 添加了新的 API 以在 BaseGridView 中添加 OnLayoutCompleteListener (aosp/1164409)

错误修复

  • 修复了一个快速布局传递不会更新子项对齐方式的错误。(aosp/1122745)
  • 修复了 Picker 小部件在焦点更改时发生的堆栈溢出崩溃。(aosp/1168473)

依赖项变更

  • Leanback-preference: 将 androidx.preference 的依赖项固定为 1.1.0 (aosp/1181902)

版本 1.1.0-alpha02

2019 年 5 月 7 日

androidx.leanback:leanback:1.1.0-alpha02androidx.leanback:leanback-preference:1.1.0-alpha02 已发布。此版本中包含的提交可在 leanback 提交leanback-preference 提交 中找到。

新功能

  • 现在允许 RowsSupportFragment 与其他 RowsSupportFragment 共享 ViewHolder,这将提高多标签 UI 的性能。

API 更改

  • 添加了 PlaybackSupportFragment.setShowOrHideControlsOverlayOnUserInteraction(),允许应用程序在按下 DPAD 时禁用自动隐藏/显示播放控件。

错误修复

  • 修复了由于 preference 库中的更改导致 leanback-preference Fragments 主题出现故障的问题。
  • 修复了在 SearchEditText 上按下 BACK 键时的导航错误。

版本 1.1.0-alpha01

2019 年 1 月 30 日

androidx.leanback:leanback 1.1.0-alpha01 已发布。

新功能

  • 添加了 PinPicker 小部件。
  • 现在在低内存设备上默认情况下禁用轮廓裁剪。
  • 允许自定义 PlaybackSupportFragment 显示/隐藏控件行为 (b/122918400)

API 更改

  • 框架片段已弃用。
  • 新的 PinPicker 类。

错误修复

  • 修复了在 BrowseSupportFragment 停止后发生的片段事务崩溃问题。
  • GuidedStepSupportFragment 不应裁剪 VerticalGridView 中的项目 (aosp/787396)
  • onCreateActionsStylist()onCreateGuidanceStylist() 已从构造函数移至 GuidedSupportFragment.onCreate() (aosp/787397)
  • 修复了一个 SearchSupportFragment 无法将焦点移至结果片段的错误。(aosp/798833)
  • 修复了 VerticalGridViewHorizontalGridView 中的滚动错误 (aosp/858809)

androidx.leanback-preference 1.1.0-alpha01 已发布。

新功能

  • 添加了 androidx 片段类,弃用了框架片段类。
  • 颜色和字体现在基于框架主题属性。

API 更改

  • 新的 androidx 片段类,框架片段类已弃用。