Leanback

使用可透過方向鍵操作的小工具和範本片段,為 Android TV 裝置編寫應用程式。
最近更新時間 穩定版 發布候選版 Beta 版 Alpha 版
2021 年 11 月 17 日 - 1.1.0-rc02 - 1.2.0-alpha02

宣告依附元件

如要新增 Leanback 的依附元件,您必須在專案中新增 Google Maven 存放區。詳情請參閱 Google 的 Maven 存放區

在應用程式或模組的build.gradle檔案中,新增您需要的構件依附元件:

Groovy

dependencies {
    def leanback_version = "1.2.0-alpha02"

    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-alpha09"

    // 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-alpha02"

    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-alpha09")

    // 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-alpha01 版本

2021 年 11 月 17 日

發布 androidx.leanback:leanback-grid:1.0.0-alpha011.0.0-alpha01 版本包含這些修訂版本。

新功能

  • 已將下列類別/介面從 leanback 移至新的 leanback-grid 程式庫:BaseGridViewFacetProviderFacetProviderAdapterGridLayoutManagerHorizontalGridViewItemAlignmentFacetOnChildLaidOutListenerOnChildSelectedListenerOnChildViewHolderSelectedListenerVerticalGridViewViewHolderTaskVisibility。這項變更會保留二進位檔的相容性。任何只想使用「向後靠鏡」的格子檢視的人,都可以直接使用leanback-grid做為依附元件。(If1e49)

Leanback Leanback-preferences 1.2.0 版本

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-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 中公開 共用 GridLayoutManager 並以交換方式交換。(f316b5)

API 異動

  • 在 BaseGridView 中公開 共用 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-preferences 版本 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.0-alpha09

2021 年 11 月 17 日

發布 androidx.leanback:leanback-paging:1.1.0-alpha091.1.0-alpha09 版本包含這些修訂版本。

修正錯誤

  • 已更新為使用最新的分頁 API。

Leanback-Paging 版本 1.1.0-alpha08

2021 年 7 月 21 日

發布 androidx.leanback:leanback-paging:1.1.0-alpha081.1.0-alpha08 版包含這些修訂版本。

API 異動

  • .peek().snapshot() API 新增至 PagingDataAdapter,以在轉譯網頁時不觸發網頁擷取作業。(Ic8917)

Leanback-Paging 版本 1.1.0-alpha07

2021 年 1 月 13 日

發布 androidx.leanback:leanback-paging:1.1.0-alpha071.1.0-alpha07 版本包含這些修訂版本。

API 異動

  • 已更新便利屬性,CombinedLoadStates.refreshCombinedLoadStates.prependCombinedLoadStates.append改為從LoadingNotLoading採用中介服務和來源載入狀態NotLoading確保已套用遠端更新。(I65619)

Leanback Leanback-preferences 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 推送到 backstack 時的檢視外洩問題 (Ifec9e, b/171909417)
  • 修正將 RowsSupportFragment 推送至反向堆疊時發生的檢視畫面外洩問題 (I985d4b/171909417)
  • 修正 GuidedStepSupportFragment 背景轉換動畫。(I86d15, b/173647688)
  • 還原 GuidedStepSupportFragment 時修正 IllegalArgumentException (Ic829f, b/172000115)
  • 修正 ClearFocusing() 時 findContainingItemView() 中的 GridLayoutManager NullPointerException (Id0e42)

Leanback-Paging 版本 1.1.0-alpha06

2020 年 12 月 2 日

發布 androidx.leanback:leanback-paging:1.1.0-alpha061.1.0-alpha06 版本包含這些修訂版本。

API 異動

  • 因為 datastateFlow / Listener 更新項目具有備援功能,因此已移除 dataRefreshFlow / dataRefreshListener API。對於這些遷移作業,loadStateFlow 對應如下:

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

    (Ib5570, b/173530908)

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

1.1.0-alpha05 版本

2020 年 10 月 1 日

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

新功能

  • 允許 A11Y 導覽遵循 GridLayoutManagerFocusOutFront 和 FocusOutEnd 屬性。(b/161390258)

修正錯誤

  • 修正 GuidanceStylist.onDestroyView() 中的檢視外洩問題 (b/164841457)
  • 修正 GridLayoutManager 中的 ConcatAdapter (b/165694295)
  • leanback-tab:改善 Javadoc 與次要程式碼重構 (aosp/1393383)
  • 從 API 移除 setRecyclerView 方法,移除在 RecyclerView 中停用相同方法時新增的方法。更新 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 異動

  • 已新增根據 asyncpagingdatadiffe 的轉接器用於 leanback 小工具(If0dfe)
  • 新增自訂分頁版面配置,在頂端設為顯示頂端導覽列 (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 Version 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 修訂版本 遞迴偏好設定修訂版本中。

新功能

  • RowsSupportFragment 現在可與其他 RowsSupportFragments 共用 ViewHolders,以提升多分頁使用者介面的效能。

API 異動

  • 已新增 PlaybackSupportFragment.setShowOrHideControlsOverlayOnUserInteraction(),允許在按下 DPAD 時停用應用程式隱藏/顯示播放控制項。

修正錯誤

  • 修復了由於首選項程式庫更改而損壞的 leanback-preference Fragments 主題。
  • 修正在 SearchEditText 上按下 BACK 鍵時的導覽錯誤

1.1.0-alpha01 版本

2019 年 1 月 30 日

發布 androidx.leanback:leanback 1.1.0-alpha01

新功能

  • 已新增 Pin Picker 小工具。
  • 低品質裝置現在預設為停用貼齊功能。
  • 允許自訂的 playSupportFragment 顯示/隱藏控制項行為 (b/122918400)

API 異動

  • 已淘汰架構片段。
  • 新增 Pin Picker 類別。

修正錯誤

  • 已修正在 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 片段類別、架構片段類別已淘汰。