tv
| Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
|---|---|---|---|---|
| 16 Juli 2025 | 1.0.1 | - | - | 1.1.0-alpha01 |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada tv-foundation dan tv-material, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:
Groovy
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-alpha12" implementation "androidx.tv:tv-material:1.1.0-alpha01" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha12") implementation("androidx.tv:tv-material:1.1.0-alpha01") }
Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.
Masukan
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Tidak ada catatan rilis untuk artefak ini.
Tv-Material Versi 1.1
Versi 1.1.0-alpha01
15 Januari 2025
androidx.tv:tv-material:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.
Perubahan API
- Mengubah
FocusEnterExitScope.cancelFocus()menjadicancelFocusChange()(I89959) FocusProperties.enterdanFocusProperties.exittelah diganti denganonEnterdanonExit, masing-masing, menggunakan cakupan penerima, bukan parameterFocusDirection. (I6e667)
Perbaikan Bug
- Memindahkan
CompositingStrategy.OffScreendari Surface ke Text untuk memperbaiki teks yang bergetar saat penskalaan. (I92b15f17) - Memperbaiki pengelolaan fokus yang rusak di Carousel (Ie508b721375)
- Surface (non-interaktif) memiliki penerapan yang lebih sederhana dibandingkan dengan yang interaktif. (I7ea545150)
Tv-Material Versi 1.0
Versi 1.0.1
16 Juli 2025
androidx.tv:tv-material:1.0.1 dirilis. Versi 1.0.1 berisi commit ini.
Perbaikan Bug
- Memperbarui tinggi
NavigationDrawerItemagar sesuai dengan spesifikasi. (cf9a3ce) - Memindahkan konfigurasi strategi komposit dari composable Surface ke composable Text. Hal ini memperbaiki bug saat Exoplayer tidak dirender pada komposit Surface di versi Android API yang lebih rendah. (9858ffb)
Versi 1.0.0
21 Agustus 2024
androidx.tv:tv-material:1.0.0 dirilis. Versi 1.0.0 adalah rilis stabil pertama androidx.tv:tv-material.
Versi 1.0.0-rc02
7 Agustus 2024
androidx.tv:tv-material:1.0.0-rc02 dirilis. Versi 1.0.0-rc02 berisi commit ini.
Perbaikan Bug
- Memperbaiki animasi teks yang bergetar di composable Surface. (3163319)
Versi 1.0.0-rc01
10 Juli 2024
androidx.tv:tv-material:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit ini.
Versi 1.0.0-beta01
1 Mei 2024
androidx.tv:tv-material:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.
Perubahan API
ColorSchemedan fungsi utilitasnya kini stabil. (If34fa)LocalContentColorkini stabil (I60ee2)TypographyAPI sekarang stabil (I088d6)- API Bentuk kini stabil (I0f5f4)
- Border API kini stabil (I69281)
- Glow API kini stabil (Iea5f1)
- Komponen ikon kini stabil (I62c2d)
LocalTextStylesAPI sekarang stabil (Iaded8)MaterialThemeAPI kini stabil (I2f541)- Komponen Teks kini stabil (Ib9e31)
- Komponen
RadioButtonkini stabil (Ia03c8) - Komponen tombol sekarang stabil (I6cea3)
- Komponen
Checkboxkini stabil (I7eafc) - Komponen platform kini stabil (I58758, I04aca)
- Mengganti nama
NonInteractiveSurfaceDefaultsmenjadiSurfaceDefaultsdanNonInteractiveSurfaceColorsmenjadiSurfaceColors(I0812e) - Selectable Surface kini menggunakan terminologi “pilih” dan bukan “centang” karena keduanya memiliki arti semantik yang berbeda (I5a206)
NavigationDrawerdanNavigationDrawerScopekini stabil (I249c1)- Komponen
NavigationDrawerItemkini stabil (Id6986) - Komponen Tab dan
TabRowkini stabil (I92d92) - Komponen
Button,OutlinedButton,IconButton,OutlinedIconButton, danWideButtonkini stabil (Ib4de8) - Komponen
Card,ClassicCard,CompactCard,WideClassicCard,StandardCardContainer&WideCardContainerkini stabil (I34390) - Mengganti nama
StandardCardLayoutmenjadiStandardCardContainerdanWideCardLayoutmenjadiWideCardContainer(I08883) - Menghapus
CardContainerDefaults.ImageCarddan mengganti namaCardDefaults.ContainerGradientmenjadiCardDefaults.ScrimBrush(I6adfe). Anda dapat menggunakanCardsebagai penggantiCardContainerDefaults.ImageCarddi penampung kartu. ListItemdanDenseListItemkini stabil (Idebd9)ListItemDefaults.ListItemShape,ListItemDefaults.FocusedDisabledBorder, danListItemDefaults.SelectedContainerColorOpacitykini bersifat pribadi (I5d533)- Menata ulang parameter
ListItem& mengganti namaListItemDefaults.ListItemElevationmenjadiListItemDefaults.TonalElevation(Id6841). ParameterheadlineContenttelah dipindahkan ke bagian atas composable. Sebelumnya, Anda dapat menggunakan sintaksis lambda akhir Kotlin untuk meneruskanheadlineContent. Sekarang, Anda harus menggunakan sintaksis parameter bernama untuk memberikanheadlineContent. LocalAbsoluteTonalElevationkini bersifat internal (Ibfc65)- Komponen
ImmersiveListtelah dihapus. Lihat contoh ini untuk mempelajari cara membuatnya sendiri. (Id48da) - Komponen tv-material yang mengekspos
MutableInteractionSourcedi API-nya telah diupdate untuk mengeksposMutableInteractionSourcenullable yang ditetapkan secara default ke null. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkatMutableInteractionSource, danMutableInteractionSourceakan dibuat di dalam komponen jika diperlukan. Mengubahnya menjadi null memungkinkan beberapa komponen tidak pernah mengalokasikanMutableInteractionSource, dan memungkinkan komponen lain hanya membuat instance secara lambat saat diperlukan, yang meningkatkan performa di seluruh komponen ini. Jika Anda tidak menggunakanMutableInteractionSourceyang diteruskan ke komponen ini, sebaiknya teruskan null. Sebaiknya Anda juga membuat perubahan serupa pada komponen Anda sendiri. (I309b4, b/298048146) - Parameter
TextAlignkomponen Teks TV kini tidak null (Ib73b1, b/299490814) - Memperkenalkan nilai Unspecified khusus untuk kolom
TextAlign,TextDirection,Hyphens, danLineBreakdariParagraphTextStyleyang akan diganti (I4197e, b/299490814)
Perubahan Perilaku
- Nilai default parameter
shapeuntukSurfacenon-interaktif telah diubah menjadiRectangleShape(I1b859cb) - Beberapa fitur carousel telah dihilangkan untuk peluncuran beta karena API yang diperlukan bersifat eksperimental (I0e755d4)
- Mengubah
contentColordiSurfacetidak lagi menganimasikan antara status (I436e794f)
Versi 1.0.0
Versi 1.0.0-alpha12
15 Januari 2025
androidx.tv:tv-foundation:1.0.0-alpha12 dirilis. Versi 1.0.0-alpha12 berisi commit ini.
Perubahan API
- Membersihkan tata letak lambat dari tv-foundation. Lihat catatan rilis 1.0.0-alpha11 untuk bermigrasi dari tata letak lambat tv-foundation. (I2fdd3, b/358913893)
Versi 1.0.0-alpha11
10 Juli 2024
androidx.tv:tv-foundation:1.0.0-alpha11 dirilis. Versi 1.0.0-alpha11 berisi commit ini.
Perubahan API
- Tata Letak Malas TV telah dihentikan dari library tv-foundation. Lihat tiket ini untuk mempelajari cara bermigrasi dari tata letak lambat TV. (I0855f, b/332674072)
PlatformImeOptionskini merupakan class konkret, bukan antarmuka. (If40a4)
Versi 1.0.0-alpha10
4 Oktober 2023
androidx.tv:tv-foundation:1.0.0-alpha10 dan androidx.tv:tv-material:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit ini.
Fitur Baru
- Memperkenalkan
NavigationDrawerItemuntuk digunakan dalamNavigationDrawerdanModalNavigationDrawer. (I4b491) - Menambahkan profil dasar pengukuran ke library tv-foundation. (2b57fd7)
- Menambahkan profil dasar pengukuran ke library tv-material. (1711ff5)
Perubahan API
- Mengganti nama
NavigationDrawerScope.doesTabRowHaveFocusmenjadiNavigationDrawerScope.hasFocus. (I8286b) - Mengganti nama
TabRowScope.isActivatedmenjadiTabRowScope.hasFocus. (Ic4273)
Perbaikan Bug
- Memperbaiki kompatibilitas Carousel dengan item berdekatan yang menggunakan API pemulih fokus. (7b2a7a4)
- Menonaktifkan indikasi cahaya untuk API_LEVEL di bawah 28 karena tidak didukung oleh OS. (6d3616f)
- Memperbaiki error ANR yang disebabkan oleh penempatan item yang tidak tepat dalam penampung lambat saat men-scroll cepat ke arah sebaliknya. (642d65c)
- Menghapus padding latar belakang di Panel Navigasi Modal. (69965b2)
- Perbaiki Scrim di Panel Navigasi agar digambar di atas konten latar belakang, bukan di belakangnya. (d4bbefb)
Versi 1.0.0-alpha09
6 September 2023
androidx.tv:tv-foundation:1.0.0-alpha09 dan androidx.tv:tv-material:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit berikut ini.
Perubahan API
- Menambahkan antarmuka
ReusableCompositionuntuk mengelola siklus proses dan penggunaan ulang subkomposisi. (I812d1, b/252846775) - Sinkronkan fork tv-foundation dengan compose-foundation. (I737c3, b/287011882)
- Overload
LazyLayoutditambahkan, yang menerima lambdaLazyLayoutItemProvider, bukan objek biasa seperti sebelumnya. Overload sebelumnya tidak digunakan lagi. (I42a5a) - Menambahkan
TvKeyboardAlignmentuntuk memungkinkan developer mengonfigurasi posisi keyboard virtual melaluiAndroidImeOptions. (Idb772) - Tambahkan
rememberCarouselStateuntuk mengingatCarouselStatedenganSaverke TV Compose Material. (Id7275) - Mengubah parameter
scrimColor: Colormenjadi parameterscrimBrush:Brushuntuk memungkinkan pengguna menambahkan gradien ke scrim. (I254d4)
Versi 1.0.0-alpha08
26 Juli 2023
androidx.tv:tv-foundation:1.0.0-alpha08 dan androidx.tv:tv-material:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit berikut ini.
Fitur Baru
- Memperkenalkan komponen Chip untuk materi Compose untuk TV. (I86da4)
- Menambahkan komponen
ListItemke TV Compose Material. (I3f0b3) - Menambahkan komponen
DenseListItemke TV Compose Material. (I536bf)
Perubahan API
- Menandai API tv-material publik sebagai Eksperimental. (I632e7)
- Memperkenalkan
TabRowScopeuntuk membagikan status dari composableTabRowdengan composable Tab dan mengganti nama propertiTabColors. (Ief587)
Versi 1.0.0-alpha07
7 Juni 2023
androidx.tv:tv-foundation:1.0.0-alpha07 dan androidx.tv:tv-material:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit berikut ini.
Perubahan API
- Indikasi skala komponen kini menyertakan Tidak Ada untuk menonaktifkan penskalaan. (I50df5)
- Menambahkan dukungan klik lama untuk TV Material Surface, Kartu, dan Tombol. (Id2b89)
CarouselItemdanCarouselScopetelah dihapus. Animasi konten latar depan dapat dilakukan di slide menggunakanModifier.animateEnterExitdariAnimatedContentScope. (Ic038e)- Menggabungkan parameter
colordancontentColorsebagaicolorsuntuk TV Material Surface. (Ie69eb) - Memperkenalkan composable
RadioButtondi TV Material. (I08690) - Memperkenalkan composable
Switchdi TV Material. (I45e29) - Memperkenalkan composable
Checkboxdi TV Material. (I6a45a) - Memperkenalkan Surface yang tidak dapat berinteraksi di Material TV. (Ic5f85)
- Menjadikan indikasi internal. (Ibff82)
Versi 1.0.0-alpha06
19 April 2023
androidx.tv:tv-foundation:1.0.0-alpha06 dan androidx.tv:tv-material:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit berikut ini.
Fitur Baru
- Menambahkan implementasi Kartu Material 3 yang dioptimalkan untuk TV.
- Menambahkan penerapan Tombol Material 3 yang dioptimalkan untuk TV.
Perubahan API
- Mengganti nama
CarouselSlidedanslideCountdiCarouselmenjadiCarouselItemdanitemCount. (Ie554c) - Mengganti nama
forwarddanbackwardContentTransformsmenjadiStartToEnddanEndToStart. (Ie554c)
Perbaikan Bug
- Menangani tombol DPAD kembali saat berfokus pada
NavigationDrawer. (d654f4)
Versi 1.0.0-alpha05
22 Maret 2023
androidx.tv:tv-foundation:1.0.0-alpha05 dan androidx.tv:tv-material:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.
Perubahan API
- Memperkenalkan composable Panel Navigasi Samping ke
tv-material. Untuk mempelajari cara menggunakan composable ini, lihat contoh. (I12c08) - Memperkenalkan composable Icon di TV Material 3 (I72db9)
- Memperkenalkan composable Surface ke
tv-materialdengan indikasi seperti Border, Glow, dan Scale, yang dapat digunakan untuk membuat komponen yang dengan jelas menandai elemen yang difokuskan di layar TV. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376) - Mengupdate
CarouselItemmenjadiCarouselSlideagar sesuai dengan nama parameterslideCountdi API 'Carousel' (Ic4299)
Versi 1.0.0-alpha04
8 Februari 2023
androidx.tv:tv-foundation:1.0.0-alpha04 dan androidx.tv:tv-material:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit berikut ini.
Fitur Baru
- Di baris, kolom, dan petak lambat, pivot akan diganti, jika perlu, untuk memastikan seluruh item ditampilkan. (11d7e40)
- Menambahkan penyesuaian warna tab dalam berbagai status. (21b2925)
- Carousel kini menerima animasi kustom untuk scroll manual maju dan mundur. (431494a)
Perubahan API
- Mengganti nama
androidx.tv.materialmenjadiandroidx.tv.material3dan meratakan struktur paket padaandroidx.tv.material3. (I6ca52) - Indikator dalam baris Indikator Carousel sekarang menjadi slot yang dapat disesuaikan oleh developer. (268af2a)
- Mengganti nama
focusableItemmenjadiimmersiveListItem. Pengguna harus menambahkan pengubahfocusable()atauclickable()secara manual bersama denganimmersiveListItem(5dd5078)(b/263061052) - Mengganti nama
timeToDisplayMillismenjadiautoScrollDurationMillisdi komponen Carousel. (431494a) CarouselItemkini dibatasi untuk digunakan dalamCarousel. (431494a)- Carousel kini menerima
ContentTransformssebagai definisi animasi, bukanEnterTransitiondanExitTransitions. (431494a) - Memperkenalkan
PinnableContainerAPI yang disebarkan oleh daftar lambat melalui komposisi lokal yang memungkinkan penyematan item saat ini. (Ib8881, b/259274257, b/195049010) - Menambahkan properti
mainAxisItemSpacingkeTvLazyListLayoutInfodanTvLazyGridLayoutInfo(I37765)
Perbaikan Bug
- Perbarui tab-baris untuk memastikannya menangani jumlah tab ke 0 atau 1 dengan benar. (I44009), (1c01525), (b/264018028)
- Memperbaiki error penelusuran fokus saat
TvLazyColumnberisiTvLazyRowkosong. (e11b4fe), (b/260299091) - Pengubah
clickablekini berfungsi denganImmersiveList. (5dd5078), (b/263061052) - Tombol Kembali kini ditangani dan digunakan untuk keluar dari Carousel Unggulan. (84c138c)
- Carousel tidak kehilangan fokus pada beberapa penekanan tombol cepat. (799489f)
- Carousel tidak kehilangan fokus pada penekanan tombol yang lama. (b2cf37e)
- Mengatasi error saat jumlah slide carousel berubah. (b261247)
Versi 1.0.0-alpha03
7 Desember 2022
androidx.tv:tv-foundation:1.0.0-alpha03 dan androidx.tv:tv-material:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.
Fitur Baru
TabRowkini tersedia sebagai API eksperimental yang memungkinkan pengguna menambahkan menu navigasi atas ke aplikasi mereka. Secara umum, perangkat TV berharap tab dimuat saat judul tab difokuskan di baris tab.- Indikator khusus TV seperti indikator garis bawah dan indikator pil ditawarkan untuk dapat langsung dipakai. Contoh penggunaan dapat ditemukan di tv-samples
Versi 1.0.0-alpha02
9 November 2022
androidx.tv:tv-foundation:1.0.0-alpha02 dan androidx.tv:tv-material:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Perbaikan Bug
- Meningkatkan performa scroll saat men-scroll koleksi
TvLazyRows/TvLazyColumnsdengan mengurangi ruang penelusuran fokus.(I723a3)
Versi 1.0.0-alpha01
5 Oktober 2022
androidx.tv:tv-foundation:1.0.0-alpha01 dan androidx.tv:tv-material:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Fitur Baru
Versi alfa pertama berisi implementasi pratinjau awal dari komponen untuk kasus penggunaan TV, termasuk:
- Menambahkan pengubah
scrollableWithPivotuntuk mengizinkan penampung scroll non-lazy seperti Baris, Kolom, Petak agar penampung scroll men-scroll konten sehingga item dalam fokus tetap berada di posisi yang sama pada layar TV. - Menambahkan composable
TvLazyRow,TvLazyColumn,TvLazyHorizontalGrid,TvLazyVerticalGridagar penampung scroll men-scroll konten sehingga item dalam fokus tetap berada di posisi yang sama pada layar TV. - Menambahkan composable Carousel Unggulan untuk TV yang memungkinkan pengguna membuat carousel banner scroll otomatis.
- Menambahkan composable Daftar Imersif untuk TV yang memungkinkan pengguna membuat Baris/Kolom/Petak Imersif yang mengubah latar belakang berdasarkan item daftar yang sedang difokuskan.
Masalah umum
- Saat penampung scroll mendapatkan fokus, elemen pertama tidak mendapatkan fokus secara default.
- Memfokuskan ke
TextFieldtidak selalu membuka keyboard atau dapat menghambat fokus untuk berpindah ke kolom lain. - Scroll secara vertikal di
LazyColumnyang berisiLazyRowsmemiliki performa buruk.