Leanback

Viết ứng dụng cho thiết bị Android TV bằng các tiện ích và mảnh mẫu thân thiện với bàn phím định hướng.
Bản cập nhật mới nhất Bản phát hành ổn định Bản phát hành dùng thử Bản phát hành beta Bản phát hành alpha
Ngày 17 tháng 11 năm 2021 1.0.0 1.1.0-rc02 - 1.2.0-alpha02

Khai báo phần phụ thuộc

Để thêm phần phụ thuộc trên Leanback, bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.

Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun của mình:

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

Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.

Ý kiến phản hồi

Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.

Báo lỗi mới

Xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.

Phiên bản Leanback-Grid 1.0.0

Phiên bản 1.0.0-alpha01

Ngày 17 tháng 11 năm 2021

Phát hành androidx.leanback:leanback-grid:1.0.0-alpha01. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Đã di chuyển các lớp/giao diện sau từ leanback sang thư viện leanback-grid mới: BaseGridView, FacetProvider, FacetProviderAdapter, GridLayoutManager, HorizontalGridView, ItemAlignmentFacet, OnChildLaidOutListener, OnChildSelectedListener, OnChildViewHolderSelectedListener, VerticalGridView, ViewHolderTask, Visibility. Thay đổi này vẫn giữ khả năng tương thích của tệp nhị phân. Nếu chỉ muốn sử dụng các thành phần chế độ xem lưới của leanback, bạn có thể trực tiếp sử dụng leanback-grid làm phần phụ thuộc. (If1e49)

Leanback Leanback-Preference Phiên bản 1.2.0

Phiên bản 1.2.0-alpha02

Ngày 17 tháng 11 năm 2021

Phát hành androidx.leanback:leanback:1.2.0-alpha02androidx.leanback:leanback-preference:1.2.0-alpha02. Phiên bản 1.2.0-alpha02 bao gồm các thay đổi sau.

Tính năng mới

  • Đã di chuyển các lớp/giao diện sau từ leanback sang thư viện leanback-grid mới: BaseGridView, FacetProvider, FacetProviderAdapter, GridLayoutManager, HorizontalGridView, ItemAlignmentFacet, OnChildLaidOutListener, OnChildSelectedListener, OnChildViewHolderSelectedListener, VerticalGridView, ViewHolderTask, Visibility. Thay đổi này vẫn giữ khả năng tương thích của tệp nhị phân. Nếu chỉ muốn sử dụng các thành phần chế độ xem lưới của leanback, bạn có thể trực tiếp sử dụng leanback-grid làm phần phụ thuộc. (If1e49)

Phiên bản 1.2.0-alpha01

Ngày 21 tháng 7 năm 2021

Phát hành androidx.leanback:leanback:1.2.0-alpha01androidx.leanback:leanback-preference:1.2.0-alpha01. Phiên bản 1.2.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Đặt leanback GridLayoutManager công khai và có thể trao đổi trong BaseGridView. (f316b5)

Thay đổi về API

  • Đặt leanback GridLayoutManager công khai và có thể trao đổi trong BaseGridView. (f316b5)

Phiên bản 1.1.0

Leanback Phiên bản 1.1.0-rc02

Ngày 21 tháng 7 năm 2021

Phát hành androidx.leanback:leanback:1.1.0-rc02. Phiên bản 1.1.0-rc02 bao gồm các thay đổi sau.

Sửa lỗi

  • Sửa lỗi nền mảnh chi tiết. (40d8e3)

Leanback Leanback-Preference Phiên bản 1.1.0-rc01

Ngày 7 tháng 4 năm 2021

Phát hành androidx.leanback:leanback:1.1.0-rc01androidx.leanback:leanback-preference:1.1.0-rc01. Phiên bản 1.1.0-rc01 bao gồm các thay đổi sau.

  • Sửa lỗi rò rỉ chế độ xem trong SearchSupportFragment() (6c47a1, b/171909417)
  • Tạo tuỳ chọn nhận dạng giọng nói cho SearchSupportFragment (4ff949,b/169936953)

Leanback-Paging Phiên bản 1.1.0-alpha09

Ngày 17 tháng 11 năm 2021

Phát hành androidx.leanback:leanback-paging:1.1.0-alpha09. Phiên bản 1.1.0-alpha9 bao gồm các thay đổi sau.

Sửa lỗi

  • Đã cập nhật để sử dụng các API phân trang mới nhất.

Leanback-Paging Phiên bản 1.1.0-alpha08

Ngày 21 tháng 7 năm 2021

Phát hành androidx.leanback:leanback-paging:1.1.0-alpha08. Phiên bản 1.1.0-alpha08 bao gồm các thay đổi sau.

Thay đổi về API

  • Đã thêm các API .peek().snapshot() vào PagingDataAdapter, cho phép kiểm tra dữ liệu được trình bày mà không cần kích hoạt tìm nạp trang. (Ic8917)

Leanback-Paging Phiên bản 1.1.0-alpha07

Ngày 13 tháng 1 năm 2021

Phát hành androidx.leanback:leanback-paging:1.1.0-alpha07. Phiên bản 1.1.0-alpha07 bao gồm các thay đổi sau.

Thay đổi về API

  • Cập nhật các thuộc tính tiện lợi, CombinedLoadStates.refresh, CombinedLoadStates.prepend, CombinedLoadStates.append để chỉ chuyển đổi từ Loading sang NotLoading sau khi cả trạng thái dàn xếp và trạng thái tải nguồn đều là NotLoading để đảm bảo bản cập nhật từ xa đã được áp dụng. (I65619)

Leanback Leanback-Preference Leanback-Tab Phiên bản 1.1.0-beta01

Ngày 2 tháng 12 năm 2020

Phát hành androidx.leanback:leanback:1.1.0-beta01, androidx.leanback:leanback-preference:1.1.0-beta01androidx.leanback:leanback-tab:1.1.0-beta01. Phiên bản 1.1.0-beta01 bao gồm các thay đổi sau.

Sửa lỗi

  • Sửa lỗi rò rỉ của khung hiển thị khi đẩy VerticalGridSupportFragment vào ngăn xếp lui (Iaac69, b/171909417)
  • Sửa lỗi rò rỉ của khung hiển thị khi đẩy BrowseSupportFragment vào ngăn xếp lui (I34483, b/171909417)
  • Sửa lỗi rò rỉ của khung hiển thị khi đẩy DetailsSupportFragment vào ngăn xếp lui (Ifec9e, b/171909417)
  • Sửa lỗi rò rỉ của khung hiển thị khi đẩy RowsSupportFragment vào ngăn xếp lui (I985d4, b/171909417)
  • Sửa ảnh động chuyển tiếp nền GuidedStepSupportFragment. (I86d15, b/173647688)
  • Sửa IllegalArgumentException khi khôi phục GuidedStepSupportFragment (Ic829f, b/172000115)
  • Sửa GridLayoutManager NullPointerException trong findContainingItemView() khi clearFocus() (Id0e42)

Leanback-Paging Phiên bản 1.1.0-alpha06

Ngày 2 tháng 12 năm 2020

Phát hành androidx.leanback:leanback-paging:1.1.0-alpha06. Phiên bản 1.1.0-alpha06 bao gồm các thay đổi sau.

Thay đổi về API

  • Loại bỏ các API dataRefreshFlow/dataRefreshListener vì không còn cần thiết cho các bản cập nhật loadStateFlow/Listener. Đối với những di chuyển đó, loadStateFlow tương đương là:

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

    (Ib5570, b/173530908)

  • Không dùng các phương thức datarefreshFlow / Listener có mệnh đề replaceWith nữa. (I6e2dd)

Phiên bản 1.1.0-alpha05

Ngày 1 tháng 10 năm 2020

Phát hành androidx.leanback:leanback-*:1.1.0-alpha05. Phiên bản 1.1.0-alpha05 bao gồm các thay đổi sau.

Tính năng mới

  • Đặt tính năng điều hướng A11Y tuân theo các thuộc tính GridLayoutManager focusOutFront và focusOutEnd. (b/161390258)

Sửa lỗi

  • Sửa lỗi rò rỉ Chế độ xem trong GuidanceStylist.onDestroyView() (b/164841457)
  • Sửa lỗi ConcatAdapter trong GridLayoutManager (b/165694295)
  • leanback-tab: các cải tiến cho Javadoc và tái cấu trúc mã thứ yếu (aosp/1393383)
  • Xoá phương thức setRecyclerView khỏi API đã được thêm khi phương thức tương tự không được dùng nữa trên RecyclerView. Cập nhật leanback lib để sử dụng phương thức API addRecyclerListener mới của RecyclerView. (I14798)

Phiên bản 1.1.0-alpha04

Ngày 11 tháng 8 năm 2020

Phát hành androidx.leanback:leanback:1.1.0-alpha04, androidx.leanback:leanback-paging:1.1.0-alpha04, androidx.leanback:leanback-preference:1.1.0-alpha04androidx.leanback:leanback-tab:1.1.0-alpha04. Phiên bản 1.1.0-alpha04 bao gồm các thay đổi sau.

Tính năng mới

  • LeanbackTabLayout cung cấp tính năng điều hướng ở phía trên cùng (thường hiển thị theo chiều ngang ở đầu ứng dụng) trong trải nghiệm duyệt tìm.
  • Việc phân trang cho Leanback giúp đơn giản hoá tính năng bổ sung hỗ trợ phân trang vào RecyclerView.Adapter.
  • Giao diện appcompat được bổ sung cho leanback sẽ đơn giản hoá việc tạo một cơ sở mã duy nhất giữa thiết bị di động và TV.

Thay đổi về API

  • Thêm bộ chuyển đổi dựa trên asyncpagingdatadiffer cho các tiện ích leanback (If0dfe)
  • Thêm một TabLayout tuỳ chỉnh để sử dụng làm thanh điều hướng trên cùng trong leanback (I1e304)

Phiên bản 1.1.0-alpha03

Ngày 18 tháng 12 năm 2019

Phát hành androidx.leanback:leanback:1.1.0-alpha03androidx.leanback:leanback-preference:1.1.0-alpha03. Leanback phiên bản 1.1.0-alpha03 bao gồm các thay đổi sauLeanback-Preference Phiên bản 1.1.0-alpha03 bao gồm các thay đổi sau.

Tính năng mới

  • BaseGridView hiện hỗ trợ tốc độ cuộn tuỳ chỉnh (aosp/952718)
  • Làm cho tính năng nhấn vào mục theo các bước có hướng dẫn trở nên phù hợp hơn (aosp/1167964)
  • Đã hiển thị BaseGridView OnLayoutCompleteListener để các ứng dụng có thể thực hiện chuyển đổi Chế độ xem sau khi chuyển bố cục. (aosp/1164409)

Thay đổi về API

  • Đã thêm một API mới để cho phép tuỳ chỉnh tốc độ cuộn BaseGridView (aosp/952718)
  • Đã thêm một API mới để thêm OnLayoutCompleteListener trong BaseGridView (aosp/1164409)

Sửa lỗi

  • Đã sửa lỗi chuyển bố cục nhanh không cập nhật căn chỉnh của thành phần con cháu. (aosp/1122745)
  • Khắc phục sự cố tràn bộ nhớ ngăn xếp trong tiện ích Bộ chọn khi tiêu điểm đang thay đổi (aosp/1168473)

Các thay đổi về phần phụ thuộc

  • Leanback-preference: đã ghim phần phụ thuộc của androidx.preference vào 1.1.0 (aosp/1181902)

Phiên bản 1.1.0-alpha02

Ngày 7 tháng 5 năm 2019

Phát hành androidx.leanback:leanback:1.1.0-alpha02androidx.leanback:leanback-preference:1.1.0-alpha02. Bạn có thể xem các thay đổi trong phiên bản này tại các thay đổi leanbackcác thay đổi leanback-preference.

Tính năng mới

  • RowsSupportFragment hiện được phép chia sẻ ViewHolders với các RowsSupportFragments khác để cải thiện hiệu suất cho một giao diện người dùng nhiều thẻ.

Thay đổi về API

  • Thêm PlaybackSupportFragment.setShowOrHideControlsOverlayOnUserInteraction() để cho phép ứng dụng vô hiệu hoá chế độ tự động ẩn/hiện bộ điều khiển chế độ phát khi nhấn vào Bàn phím định hướng.

Sửa lỗi

  • Sửa lỗi giao diện của các Mảnh leanback-preference bị hỏng do có sự thay đổi trong thư viện tuỳ chọn.
  • Sửa lỗi điều hướng khi nhấn phím BACK trên SearchEditText

Phiên bản 1.1.0-alpha01

Ngày 30 tháng 1 năm 2019

Phát hành androidx.leanback:leanback 1.1.0-alpha01.

Tính năng mới

  • Đã thêm tiện ích PinPicker.
  • Theo mặc định, tính năng cắt viền hiện bị tắt trên thiết bị có dung lượng ram thấp.
  • Cho phép hoạt động điều khiển ẩn/hiện PlaybackSupportFragment tuỳ chỉnh (b/122918400)

Thay đổi về API

  • Các mảnh khung không được dùng nữa.
  • Lớp PinPicker mới.

Sửa lỗi

  • Khắc phục sự cố giao dịch mảnh sau khi dừng BrowseSupportFragment
  • GuidedStepSupportFragment không được phân đoạn các mục trong VerticalGridView (aosp/787396)
  • Di chuyển onCreateActionsStylist()onCreateGuidanceStylist() từ hàm khởi tạo sang GuidedSupportFragment.onCreate() (aosp/787397)
  • Sửa lỗi SearchSupportFragment không lấy tiêu điểm vào mảnh kết quả. (aosp/798833)
  • Sửa một lỗi cuộn trong VerticalGridViewHorizontalGridView (aosp/858809)

Phát hành androidx.leanback-preference 1.1.0-alpha01.

Tính năng mới

  • Thêm các lớp mảnh androidx, không dùng các lớp mảnh khung nữa.
  • Màu sắc và phông chữ hiện theo các thuộc tính giao diện khung.

Thay đổi về API

  • Các lớp mảnh androidx mới, không dùng các lớp mảnh khung nữa.