Leanback

D패드에 적합한 위젯과 템플릿 프래그먼트를 사용하여 Android TV 기기용 앱을 개발합니다.
최근 업데이트 현재 안정화 버전 다음 버전 후보 베타 버전 알파 버전
2021년 4월 7일 1.0.0 1.1.0-rc01 - -

종속 항목 선언

Leanback의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

dependencies {
    def leanback_version = "1.0.0"

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

    // 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.0.0"

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

    // 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을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 만들기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새 문제 만들기

자세한 내용은 Issue Tracker 문서를 참고하세요.

버전 1.1.0

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에 포함된 커밋을 확인하세요.

  • SearchSupportFragment()에서 뷰가 누수되는 문제를 수정했습니다. (6c47a1, b/171909417)
  • SearchSupportFragment의 음성 인식기를 선택사항으로 변경했습니다. (4ff949,b/169936953)

Leanback-Paging 버전 1.1.0-alpha07

2021년 1월 13일

androidx.leanback:leanback-paging:1.1.0-alpha07가 출시되었습니다. 버전 1.1.0-alpha07에 포함된 커밋을 확인하세요.

API 변경사항

  • 미디에이터 및 소스 로드 상태가 모두 NotLoading이 된 이후에만 편의성 속성 CombinedLoadStates.refresh, CombinedLoadStates.prepend, CombinedLoadStates.appendLoading에서 NotLoading으로 전환되어 원격 업데이트가 적용될 수 있도록 업데이트되었습니다. (I65619)

Leanback Leanback-Preference Leanback-Tab 버전 1.1.0-beta01

2020년 12월 2일

androidx.leanback:leanback:1.1.0-beta01, androidx.leanback:leanback-preference:1.1.0-beta01androidx.leanback:leanback-tab:1.1.0-beta01이 출시되었습니다. 버전 1.1.0-beta01에 포함된 커밋을 확인하세요.

버그 수정

  • VerticalGridSupportFragment를 백스택에 푸시할 때 뷰 누수가 발생하는 문제를 수정했습니다. (Iaac69, b/171909417)
  • BrowseSupportFragment를 백스택에 푸시할 때 뷰 누수가 발생하는 문제를 수정했습니다. (I34483, b/171909417)
  • DetailsSupportFragment를 백스택에 푸시할 때 뷰 누수가 발생하는 문제를 수정했습니다. (Ifec9e, b/171909417)
  • RowsSupportFragment를 백스택에 푸시할 때 뷰 누수가 발생하는 문제를 수정했습니다. (I985d4, b/171909417)
  • GuidedStepSupportFragment 백그라운드 전환 애니메이션을 수정했습니다. (I86d15, b/173647688)
  • GuidedStepSupportFragment를 복원할 때 IllegalArgumentException이 발생하는 문제를 수정했습니다. (Ic829f, b/172002115)
  • clearFocus() 실행 시 findContainingItemView()에 GridLayoutManager NullPointerException이 발생하는 문제를 수정했습니다. (Id0e42)

Leanback-Paging 버전 1.1.0-alpha06

2020년 12월 2일

androidx.leanback:leanback-paging:1.1.0-alpha06이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.

API 변경사항

  • dataRefreshFlow/dataRefreshListener API가 loadStateFlow/Listener 업데이트와 중복되어 삭제되었습니다. 이러한 마이그레이션에서는 다음이 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-alpha05가 출시되었습니다. 버전 1.1.0-alpha05에 포함된 커밋을 확인하세요.

새로운 기능

  • A11Y 탐색이 GridLayoutManager focusOutFront 및 focusOutEnd 속성을 적용하도록 합니다. (b/161390258)

버그 수정

  • GuidanceStylist.onDestroyView()에서 뷰 누수가 발생하는 문제를 수정했습니다. (b/164841457)
  • GridLayoutManager의 ConcatAdapter를 수정했습니다. (b/165694295)
  • leanback-tab: Javadoc을 개선하고 몇 가지 코드를 리팩터링했습니다. (aosp/1393383)
  • RecyclerView에서 동일한 메서드가 지원 중단될 때 추가된 API에서 setRecyclerView 메서드를 삭제했습니다. RecyclerView의 새로운 addRecyclerListener API 메서드를 사용하도록 leanback lib를 업데이트했습니다. (I14798)

버전 1.1.0-alpha04

2020년 8월 11일

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 버전이 출시되었습니다. 버전 1.1.0-alpha04에 포함된 커밋을 확인하세요.

새로운 기능

  • LeanbackTabLayout은 탐색 환경에서 상단 탐색(일반적으로 앱 상단에 가로로 표시됨)을 제공합니다.
  • Leanback용 페이징은 RecyclerView.Adapter에 관한 페이징 지원 추가를 단순화합니다.
  • 휴대기기와 TV 간의 단일 코드베이스 생성을 단순화하는 Leanback용 AppCompat 테마를 추가했습니다.

API 변경사항

  • Leanback 위젯용 asyncpagingdatadiffer 기반 어댑터를 추가했습니다. (If0dfe)
  • Leanback에서 상단 탐색 메뉴로 사용할 맞춤 TabLayout을 추가했습니다. (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 변경사항

  • 맞춤 BaseGridView 스크롤 속도를 허용하기 위해 새 API를 추가했습니다. (aosp/952718 참조)
  • BaseGridView에서 OnLayoutCompleteListener를 추가하기 위한 새 API를 추가했습니다. (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는 이제 ViewHolder를 다른 RowsSupportFragment와 공유할 수 있으므로 다중 탭 UI 성능이 향상됩니다.

API 변경사항

  • DPAD를 누를 때 앱에서 재생 컨트롤 자동 숨기기/표시 기능을 사용 중지할 수 있도록 PlaybackSupportFragment.setShowOrHideControlsOverlayOnUserInteraction()을 추가했습니다.

버그 수정

  • 환경설정 라이브러리 변경으로 인해 손상된 leanback-preference 프래그먼트 테마를 수정했습니다.
  • SearchEditText에서 BACK 키를 누를 때 발생하는 탐색 버그를 수정했습니다.

버전 1.1.0-alpha01

2019년 1월 30일

androidx.leanback:leanback 1.1.0-alpha01이 출시되었습니다.

새로운 기능

  • PinPicker 위젯을 추가했습니다.
  • 이제 RAM이 낮은 기기에서 윤곽선 클리핑을 기본적으로 사용하지 않도록 설정됩니다.
  • 맞춤설정 PlaybackSupportFragment 표시/숨기기 컨트롤 동작을 허용합니다(b/122918400).

API 변경사항

  • 프레임워크 프래그먼트가 지원 중단되었습니다.
  • 새 PinPicker 클래스

버그 수정

  • BrowseSupportFragment가 중지된 이후에 발생하는 프래그먼트 트랜잭션 비정상 종료를 수정했습니다.
  • GuidedStepSupportFragmentVerticalGridView에서 항목을 클리핑하지 않습니다. (aosp/787396 참조)
  • onCreateActionsStylist()onCreateGuidanceStylist()를 생성자에서 GuidedSupportFragment.onCreate()로 이동했습니다. (aosp/787397 참조)
  • SearchSupportFragment가 결과 프래그먼트에 포커스를 할당하지 못하는 버그를 수정했습니다. (aosp/798833 참조)
  • VerticalGridViewHorizontalGridView의 스크롤 버그를 수정했습니다. (aosp/858809 참조)

androidx.leanback-preference 1.1.0-alpha01이 출시되었습니다.

새로운 기능

  • 프레임워크 프래그먼트 클래스를 지원 중단하고 androidx 프래그먼트 클래스를 추가했습니다.
  • 색상 및 글꼴이 이제 프레임워크 테마 속성을 기반으로 합니다.

API 변경사항

  • 새 androidx 프래그먼트 클래스, 프레임워크 프래그먼트 클래스가 지원 중단되었습니다.