Leanback

使用可透過方向鍵操作的小工具和範本片段,編寫適合 Android 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。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 說明文件

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-alpha021.0.0-alpha02 版包含此連結所列的修訂項目。

API 變更

  • setFocusOutAllowed 設為公開,以透過程式輔助方式設定焦點外的屬性。(Iebd99)。

修正錯誤

  • 設定 a11y 節點資訊類別名稱,確保 a11y 服務將格線視為格線處理(I12812)。
  • 在捲動畫面平穩時,加入缺少的瀏覽音效。(f49767)。

1.0.0-alpha01 版

2021 年 11 月 17 日

發布 androidx.leanback:leanback-grid:1.0.0-alpha011.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-alpha041.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-alpha031.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-alpha021.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-alpha011.2.0-alpha01 版包含此連結所列的修訂項目。

新功能

  • 在 BaseGridView 中公開 leanback GridLayoutManager 並支援更換 leanback GridLayoutManager。(f316b5)

API 異動

  • 在 BaseGridView 中公開 leanback GridLayoutManager 並支援更換 leanback GridLayoutManager。(f316b5)

1.1.0 版

Leanback 1.1.0-rc02 版

2021 年 7 月 21 日

發布 androidx.leanback:leanback:1.1.0-rc021.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-rc011.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-alpha101.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 變更

  • 更新便利屬性,只有在中介服務和來源載入狀態皆為 NotLoading 時,CombinedLoadStates.refreshCombinedLoadStates.prependCombinedLoadStates.append 才能從 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-beta011.1.0-beta01 版包含這些修訂項目。

修正錯誤

  • 修正將 VerticalGridSupportFragment 推送至返回堆疊時發生的檢視畫面外洩問題 (Iaac69b/171909417)
  • 修正將 BrowseSupportFragment 推送至返回堆疊時發生的檢視畫面外洩問題 (I34483b/171909417)
  • 修正將 DetailsSupportFragment 推送至返回堆疊時發生的檢視畫面外洩問題 (Ifec9eb/171909417)
  • 修正將 RowsSupportFragment 推送至返回堆疊時發生的檢視畫面外洩問題 (I985d4b/171909417)
  • 修正 GuidedStepSupportFragment 背景轉場動畫。(I86d15b/173647688)
  • 修正還原 GuidedStepSupportFragment 時的 IllegalArgumentException 問題 (Ic829fb/172000115)
  • 修正執行 clearFocus() 時 findContainingItemView() 中的 GridLayoutManager 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)

  • 完全淘汰 dataRefreshFlow/Listener 方法,改用 replaceWith 子句。(I6e2dd)

1.1.0-alpha05 版

2020 年 10 月 1 日

發布 androidx.leanback:leanback-*:1.1.0-alpha051.1.0-alpha05 版本包含這些修訂版本。

新功能

  • 讓 A11Y Navigation 遵循 GridLayoutManager focusOutFront 和 focusOutEnd 屬性。(b/161390258)

修正錯誤

  • 修正 GuidanceStylist.onDestroyView() 中的檢視畫面外洩問題 (b/164841457)
  • 修正 GridLayoutManager 中的 ConcatAdapter (b/165694295)
  • leanback-tab:改善 Javadoc 並少許重構程式碼 (aosp/1393383)
  • 從 RecyclerView 淘汰 setRecyclerView 方法時新增的 API 中移除這個方法。更新 leanback lib,使用 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-alpha041.1.0-alpha04 版包含這些修訂項目。

新功能

  • 您可以運用 LeanbackTabLayout 在瀏覽體驗中提供頂部導覽功能 (通常是在應用程式上方水平顯示)。
  • Leanback 的分頁功能簡化了對 RecyclerView.Adapter 新增分頁支援的過程。
  • 新增 leanback 專用的 appcompat 主題,可讓您輕鬆建立在行動裝置與電視之間共用的單一程式碼集。

API 變更

  • 針對 leanback 小工具新增以 asyncpagingdatadiffe 為基礎的轉接程式 (If0dfe)
  • 新增自訂 TabLayout,方便您在 leanback 中建立頂部導覽列 (I1e304)

1.1.0-alpha03 版

2019 年 12 月 18 日

發布 androidx.leanback:leanback:1.1.0-alpha03androidx.leanback:leanback-preference:1.1.0-alpha03Leanback 1.1.0-alpha03 版包含這些修訂項目Leanback-Preference 1.1.0-alpha03 版包含這些修訂項目

新功能

  • BaseGridView 支援自訂捲動速度 (aosp/952718)
  • 改進步驟指引的觸控體驗 (aosp/1167964)
  • 公開 BaseGridView OnLayoutCompleteListener,讓應用程式能在版面配置階段後執行 View 轉換。(aosp/1164409)

API 異動

  • 新增 API,允許自訂的 BaseGridView 捲動速度 (aosp/952718)
  • 新增 API,可用於在 BaseGridView 中新增 OnLayoutCompleteListener (aosp/1164409)

修正錯誤

  • 修正快速版面配置階段未更新子項對齊方式的錯誤。(aosp/1122745)
  • 修正焦點變更時,挑選器小工具中的堆疊溢位當機問題 (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(),允許應用程式在使用者按下方向鍵時,停用自動隱藏/顯示播放控制項的功能。

修正錯誤

  • 修正由於偏好設定資料庫異動而損壞的 leanback-preference Fragments 主題。
  • 修正在 SearchEditText 上按返回鍵時發生的導覽錯誤。

1.1.0-alpha01 版

2019 年 1 月 30 日

發布了 androidx.leanback:leanback 1.1.0-alpha01

新功能

  • 新增 PinPicker 小工具。
  • 在低 RAM 裝置上預設停用輪廓裁剪功能。
  • 允許自訂的 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 片段類別,淘汰架構片段類別。