TV

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

종속 항목 선언

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

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

Groovy

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

Kotlin

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

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

의견

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

새로운 문제 제출하기

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

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

버전 1.0.0

버전 1.0.0-alpha10

2023년 10월 4일

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

새로운 기능

  • NavigationDrawerModalNavigationDrawer 내에서 사용하도록 NavigationDrawerItem를 도입했습니다. 추가했습니다. (I4b491)
  • tv-foundation 라이브러리에 기준 프로필 추가 추가했습니다. (2b57fd7)
  • tv-material 라이브러리에 기준 프로필을 추가합니다. 추가했습니다(1711ff5).

API 변경사항

  • NavigationDrawerScope.doesTabRowHaveFocus에서 NavigationDrawerScope.hasFocus으로 이름이 변경되었습니다. 추가했습니다. (I8286b)
  • TabRowScope.isActivated에서 TabRowScope.hasFocus으로 이름이 변경되었습니다. 추가했습니다. (Ic4273)

버그 수정

  • 포커스 복원 API를 사용하는 인접 항목과 캐러셀의 호환성을 수정합니다. 추가했습니다. (7b2a7a4)
  • 28 미만 API_LEVEL의 발광 표시는 OS에서 지원되지 않으므로 사용 중지합니다. 추가했습니다. (6d3616f)
  • 역방향으로 빠르게 스크롤할 때 지연 컨테이너에서 부적절한 항목 배치로 인해 발생하는 ANR 비정상 종료 문제를 해결했습니다. 추가합니다. (642d65c)
  • 모달 탐색 창에서 배경 패딩을 삭제했습니다. 추가했습니다. (69965b2)
  • 탐색 창의 스크림이 배경 콘텐츠 뒤가 아닌 위에 그려지도록 수정했습니다. 추가했습니다. (d4bbefb)

버전 1.0.0-alpha09

2023년 9월 6일

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

API 변경사항

  • 하위 구성의 수명 주기와 재사용을 관리하는 ReusableComposition 인터페이스를 추가했습니다. 추가했습니다. (I812d1, b/252846775)
  • tv-foundation 포크를 compose-foundation과 동기화합니다. 추가했습니다. (I737c3, b/287011882)
  • LazyLayout의 오버로드가 추가되어 이전과 같이 일반 객체가 아닌 LazyLayoutItemProvider의 람다를 허용합니다. 이전 오버로드는 지원 중단되었습니다. 추가했습니다. (I42a5a)
  • 개발자가 AndroidImeOptions를 통해 터치 키보드 위치를 구성할 수 있도록 TvKeyboardAlignment를 추가합니다. 추가했습니다. (Idb772)
  • SaverCarouselState를 기억하도록 rememberCarouselState를 TV Compose Material에 추가합니다. 추가했습니다. (Id7275)
  • 사용자가 스크림에 그라데이션을 추가할 수 있도록 scrimColor: Color 매개변수를 scrimBrush:Brush 매개변수로 변경합니다. 추가했습니다. (I254d4)

버전 1.0.0-alpha08

2023년 7월 26일

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

새로운 기능

  • TV Material용 Compose의 칩 구성요소를 도입했습니다. 추가했습니다. (I86da4)
  • TV Compose Material에 ListItem 구성요소를 추가합니다. 추가했습니다. (I3f0b3)
  • DenseListItem 구성요소를 TV Compose Material에 추가합니다. 추가했습니다. (I536bf)

API 변경사항

  • 공개 tv-material API를 실험용으로 표시했습니다. 추가했습니다. (I632e7)
  • TabRow 컴포저블의 상태를 Tab 컴포저블과 공유하는 TabRowScope를 도입하고 TabColors 속성으로 이름을 바꿨습니다. 추가했습니다. (Ief587)

버전 1.0.0-alpha07

2023년 6월 7일

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

API 변경사항

  • 이제 크기 조정을 사용 중지할 수 있도록 구성요소의 배율 표시에 '없음'이 포함됩니다. 추가했습니다. (I50df5)
  • TV Material Surface, 카드, 버튼의 긴 클릭 지원을 추가했습니다. 추가했습니다. (Id2b89)
  • CarouselItemCarouselScope를 삭제했습니다. AnimatedContentScopeModifier.animateEnterExit를 사용하여 슬라이드에서 포그라운드 콘텐츠 애니메이션을 구현할 수 있습니다. 추가했습니다. (Ic038e)
  • TV Material Surface의 colorcontentColor 매개변수를 colors로 병합했습니다. 추가했습니다. (Ie69eb)
  • TV Material에 RadioButton 컴포저블을 도입했습니다. 추가했습니다. (I08690)
  • TV Material에 Switch 컴포저블을 도입했습니다. 추가했습니다. (I45e29)
  • TV Material에 Checkbox 컴포저블을 도입했습니다. 추가했습니다. (I6a45a)
  • TV Material에 상호작용 불가능한 노출 영역을 도입했습니다. 추가했습니다. (Ic5f85)
  • 표시는 내부용입니다. 추가했습니다. (Ibff82)

버전 1.0.0-alpha06

2023년 4월 19일

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

새로운 기능

  • TV에 최적화된 Material 3 Card 구현을 추가합니다.
    • Basic 카드 (I5b701)
    • ClassicCard, CompactCard, WideClassicCard (I70471)
    • StandardCardLayoutWideCardLayout (I33fae)
  • TV에 최적화된 Material 3 Button 구현을 추가합니다.

API 변경사항

  • CarouselCarouselSlideslideCount의 이름이 CarouselItemitemCount로 변경되었습니다. 추가했습니다. (Ie554c)
  • forwardbackward ContentTransforms의 이름이 StartToEndEndToStart로 변경되었습니다. 추가했습니다. (Ie554c)

버그 수정

  • NavigationDrawer에 포커스가 있을 때 뒤로 방향 패드 버튼을 처리합니다. 추가했습니다. (d654f4)

버전 1.0.0-alpha05

2023년 3월 22일

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

API 변경사항

  • tv-material에 측면 탐색 창 컴포저블을 도입합니다. 이 컴포저블을 사용하는 방법을 알아보려면 샘플을 참고하세요. 추가했습니다. (I12c08)
  • TV Material 3에 아이콘 컴포저블을 도입했습니다. (I72db9)
  • TV 화면에서 포커스가 설정된 요소를 명확하게 강조 표시하는 구성요소를 빌드하는 데 사용할 수 있는 테두리, 발광 효과, 배율과 같은 표시가 포함된 tv-material에 Surface 컴포저블을 소개합니다. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376)
  • '캐러셀' API의 slideCount 매개변수 이름과 일치하도록 CarouselItemCarouselSlide로 업데이트합니다. (Ic4299)

버전 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에서 세로로 스크롤하면 성능이 저하됩니다.