TV

  
개발자에게 TV용 애플리케이션을 작성할 수 있도록 Compose 및 Material 디자인 기능을 제공합니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2023년 2월 8일 - - - 1.0.0-alpha04

종속 항목 선언

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

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

Groovy

dependencies {
    implementation "androidx.tv:tv-foundation:1.0.0-alpha04"
    implementation "androidx.tv:tv-material:1.0.0-alpha04"
}

Kotlin

dependencies {
    implementation("androidx.tv:tv-foundation:1.0.0-alpha04")
    implementation("androidx.tv:tv-material:1.0.0-alpha04")
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

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

새로운 문제 제출하기

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

이 아티팩트의 출시 노트는 없습니다.

버전 1.0.0

버전 1.0.0-alpha04

2023년 2월 8일

androidx.tv:tv-foundation:1.0.0-alpha04androidx.tv:tv-material:1.0.0-alpha04가 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.

새로운 기능

  • 지연 행, 열, 그리드에서 필요한 경우 항목 전체가 표시되도록 피벗이 재정의됩니다. (11d7e40)
  • 여러 상태의 탭 색상 맞춤설정을 추가했습니다. (21b2925)
  • 이제 캐러셀에서 앞뒤 수동 스크롤 맞춤 애니메이션을 받습니다. (431494a)

API 변경사항

  • androidx.tv.material의 이름을 androidx.tv.material3으로 변경하고 androidx.tv.material3 아래의 패키지 구조를 평탄화했습니다. (I6ca52)
  • 캐러셀 표시기 내의 표시기는 이제 개발자가 맞춤설정할 수 있는 슬롯입니다. (268af2a)
  • focusableItem의 이름을 immersiveListItem으로 변경했습니다. 사용자는 focusable() 또는 clickable() 수정자를 immersiveListItem과 함께 수동으로 추가해야 합니다. (5dd5078)(b/263061052)
  • 캐러셀 구성요소에서 timeToDisplayMillis의 이름을 autoScrollDurationMillis로 변경했습니다. (431494a)
  • 이제 CarouselItemCarousel 내에서 사용하도록 제한됩니다. (431494a)
  • 이제 캐러셀이 EnterTransitionExitTransitions 대신 ContentTransforms를 애니메이션 정의로 받습니다. (431494a)
  • 현재 항목을 고정할 수 있는 컴포지션 로컬을 통해 지연 목록에 의해 전파되는 PinnableContainer API를 도입했습니다. (Ib8881, b/259274257, b/195049010)
  • TvLazyListLayoutInfoTvLazyGridLayoutInfomainAxisItemSpacing 속성을 추가했습니다. (I37765)

버그 수정

  • tab-count 0 또는 1을 올바르게 처리하도록 tab-row를 업데이트했습니다. (I44009), (1c01525), (b/264018028)
  • TvLazyColumn에 빈 TvLazyRow가 포함되어 있을 때 포커스 검색 비정상 종료 문제를 해결했습니다. (e11b4fe), (b/260299091)
  • 이제 clickable 수정자가 ImmersiveList에서 작동합니다. (5dd5078), (b/263061052)
  • 이제 추천 캐러셀을 종료하는 데 뒤로 키가 처리되고 사용됩니다. (84c138c)
  • 키를 여러 번 빠르게 눌러도 캐러셀에서 포커스가 이동되지 않습니다. (799489f)
  • 키를 길게 눌러도 캐러셀에서 포커스가 이동되지 않습니다. (b2cf37e)
  • 캐러셀 slide-count가 변경될 때 발생하는 비정상 종료 문제를 해결했습니다. (b261247)

버전 1.0.0-alpha03

2022년 12월 7일

androidx.tv:tv-foundation:1.0.0-alpha03androidx.tv:tv-material:1.0.0-alpha03이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.

새로운 기능

  • 이제 TabRow를 실험용 API로 사용하여 상단 탐색 메뉴를 앱에 추가할 수 있습니다. 일반적으로 TV 기기에서는 탭 행에서 탭 제목에 포커스가 올 경우 탭이 로드됩니다.
  • 밑줄 표시기, 알약 표시기 같은 TV 전용 표시기는 즉시 제공됩니다. 샘플 예는 tv-samples에서 확인할 수 있습니다.

버전 1.0.0-alpha02

2022년 11월 9일

androidx.tv:tv-foundation:1.0.0-alpha02androidx.tv:tv-material:1.0.0-alpha02가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

버그 수정

  • 포커스 검색 공간을 줄여 TvLazyRows/TvLazyColumns 컬렉션을 스크롤할 때 스크롤 성능을 개선했습니다. (I723a3)

버전 1.0.0-alpha01

2022년 10월 5일

androidx.tv:tv-foundation:1.0.0-alpha01androidx.tv:tv-material:1.0.0-alpha01이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

첫 번째 알파 버전에는 다음과 같은 TV 사용 사례를 위한 구성요소의 초기 미리보기 구현이 포함되어 있습니다.

  • 스크롤 컨테이너가 콘텐츠를 스크롤할 수 있도록 행, 열, 그리드와 같은 비지연 스크롤 컨테이너를 허용하는 수정자 scrollableWithPivot을 추가하여 포커스가 있는 항목이 TV 화면에서 동일한 위치에 유지됩니다.
  • 스크롤 컨테이너가 콘텐츠를 스크롤할 수 있도록 컴포저블 TvLazyRow, TvLazyColumn, TvLazyHorizontalGrid, TvLazyVerticalGrid를 추가하여 포커스가 있는 항목이 TV 화면에서 동일한 위치에 유지됩니다.
  • 사용자가 자동 스크롤 배너 캐러셀을 만들 수 있는 TV용 추천 캐러셀 컴포저블을 추가합니다.
  • 사용자가 포커스가 있는 목록 항목에 따라 배경을 변경하는 몰입형 행/열/그리드를 만들 수 있는 TV용 몰입형 목록 컴포저블을 추가합니다.

알려진 문제

  • 스크롤 컨테이너가 포커스를 얻으면 기본적으로 첫 번째 요소는 포커스를 얻지 못합니다.
  • TextField에 포커스를 맞추면 항상 키보드가 열리는 것은 아니며 포커스가 다른 필드로 이동하지 못하게 할 수 있습니다.
  • LazyRows가 포함된 LazyColumn에서 세로로 스크롤하면 성능이 저하됩니다.