tv
Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
15 Januari 2025 | 1.0.0 | - | - | 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-alpha11" implementation "androidx.tv:tv-material:1.0.0" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha11") implementation("androidx.tv:tv-material:1.0.0") }
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.enter
danFocusProperties.exit
telah diganti denganonEnter
danonExit
, masing-masing menggunakan cakupan penerima,bukan parameterFocusDirection
. (I6e667)
Perbaikan Bug
- Memindahkan
CompositingStrategy.OffScreen
dari Platform ke Teks untuk memperbaiki teks yang bergetar saat penskalaan. (I92b15f17) - Memperbaiki pengelolaan fokus yang rusak di Carousel (Ie508b721375)
- Platform (non-interaktif) memiliki implementasi yang disederhanakan dibandingkan dengan platform interaktif. (I7ea545150)
Tv-Material Versi 1.0
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
ColorScheme
dan fungsi utilitasnya kini stabil. (If34fa)LocalContentColor
kini stabil (I60ee2)Typography
API kini stabil (I088d6)- Shapes API kini stabil (I0f5f4)
- Border API kini stabil (I69281)
- Glow API kini stabil (Iea5f1)
- Komponen ikon kini stabil (I62c2d)
LocalTextStyles
API sekarang stabil (Iaded8)MaterialTheme
API sekarang stabil (I2f541)- Komponen Teks kini stabil (Ib9e31)
- Komponen
RadioButton
kini stabil (Ia03c8) - Komponen tombol sekarang stabil (I6cea3)
- Komponen
Checkbox
kini stabil (I7eafc) - Komponen platform kini stabil (I58758, I04aca)
- Mengganti nama
NonInteractiveSurfaceDefaults
menjadiSurfaceDefaults
danNonInteractiveSurfaceColors
menjadiSurfaceColors
(I0812e) - Platform yang Dapat Dipilih kini menggunakan terminologi “pilih” dan bukan “periksa” karena keduanya memiliki makna semantik yang berbeda (I5a206)
NavigationDrawer
danNavigationDrawerScope
kini stabil (I249c1)- Komponen
NavigationDrawerItem
kini stabil (Id6986) - Komponen tab dan
TabRow
kini stabil (I92d92) - Komponen
Button
,OutlinedButton
,IconButton
,OutlinedIconButton
, danWideButton
kini stabil (Ib4de8) - Komponen
Card
,ClassicCard
,CompactCard
,WideClassicCard
,StandardCardContainer
, danWideCardContainer
kini stabil (I34390) - Mengganti nama
StandardCardLayout
menjadiStandardCardContainer
danWideCardLayout
menjadiWideCardContainer
(I08883) - Menghapus
CardContainerDefaults.ImageCard
dan mengganti namaCardDefaults.ContainerGradient
menjadiCardDefaults.ScrimBrush
(I6adfe). Anda dapat menggunakanCard
sebagai penggantiCardContainerDefaults.ImageCard
di penampung kartu. ListItem
danDenseListItem
kini stabil (Idebd9)ListItemDefaults.ListItemShape
,ListItemDefaults.FocusedDisabledBorder
&ListItemDefaults.SelectedContainerColorOpacity
kini bersifat pribadi (I5d533)- Mengatur ulang parameter
ListItem
& mengganti namaListItemDefaults.ListItemElevation
menjadiListItemDefaults.TonalElevation
(Id6841). ParameterheadlineContent
telah dipindahkan ke bagian atas composable. Sebelumnya, Anda dapat menggunakan sintaksis lambda akhir Kotlin untuk meneruskanheadlineContent
. Sekarang, Anda harus menggunakan sintaksis parameter bernama untuk memberikanheadlineContent
. LocalAbsoluteTonalElevation
kini bersifat internal (Ibfc65)- Komponen
ImmersiveList
telah dihapus. Lihat contoh ini untuk mempelajari cara mem-buildnya sendiri. (Id48da) - Komponen tv-material yang mengekspos
MutableInteractionSource
di API-nya telah diupdate sehingga kini mengeksposMutableInteractionSource
nullable yang ditetapkan secara default ke null. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkatMutableInteractionSource
, danMutableInteractionSource
akan dibuat di dalam komponen jika diperlukan. Mengubah ke 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 menggunakanMutableInteractionSource
yang diteruskan ke komponen ini, sebaiknya teruskan null. Sebaiknya Anda juga membuat perubahan serupa di komponen Anda sendiri. (I309b4, b/298048146) - Parameter
TextAlign
komponen Teks TV kini non-null (Ib73b1, b/299490814) - Memperkenalkan nilai Tidak ditentukan khusus untuk kolom
TextAlign
,TextDirection
,Hyphens
, danLineBreak
dariParagraphTextStyle
yang akan diganti (I4197e, b/299490814)
Perubahan Perilaku
- Nilai default parameter
shape
untukSurface
non-interaktif telah diubah menjadiRectangleShape
(I1b859cb) - Beberapa fitur carousel telah dihapus untuk peluncuran versi beta karena API yang diperlukan bersifat eksperimental (I0e755d4)
- Mengubah
contentColor
diSurface
tidak lagi menganimasikan di 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 Lambat TV tidak digunakan lagi dari library tv-foundation. Lihat tiket ini untuk mempelajari cara bermigrasi dari tata letak lambat TV. (I0855f, b/332674072)
PlatformImeOptions
kini 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
NavigationDrawerItem
untuk digunakan dalamNavigationDrawer
danModalNavigationDrawer
. (I4b491) - Menambahkan profil dasar pengukuran ke library tv-foundation. (2b57fd7)
- Menambahkan profil dasar pengukuran ke library tv-material. (1711ff5)
Perubahan API
- Mengganti nama
NavigationDrawerScope.doesTabRowHaveFocus
menjadiNavigationDrawerScope.hasFocus
. (I8286b) - Mengganti nama
TabRowScope.isActivated
menjadiTabRowScope.hasFocus
. (Ic4273)
Perbaikan Bug
- Memperbaiki kompatibilitas Carousel dengan item yang berdekatan yang menggunakan API pengembalian 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)
- Memperbaiki 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
ReusableComposition
untuk mengelola siklus proses dan penggunaan kembali subkomposisi. (I812d1, b/252846775) - Menyinkronkan fork tv-foundation dengan compose-foundation. (I737c3, b/287011882)
- Overload
LazyLayout
ditambahkan, yang menerima lambdaLazyLayoutItemProvider
, bukan objek biasa seperti sebelumnya. Overload sebelumnya tidak digunakan lagi. (I42a5a) - Menambahkan
TvKeyboardAlignment
untuk memungkinkan developer mengonfigurasi posisi keyboard virtual melaluiAndroidImeOptions
. (Idb772) - Tambahkan
rememberCarouselState
untuk mengingatCarouselState
denganSaver
ke TV Compose Material. (Id7275) - Mengubah parameter
scrimColor: Color
menjadi parameterscrimBrush:Brush
untuk 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
ListItem
ke TV Compose Material. (I3f0b3) - Menambahkan komponen
DenseListItem
ke TV Compose Material. (I536bf)
Perubahan API
- Menandai API materi TV publik sebagai Eksperimental. (I632e7)
- Memperkenalkan
TabRowScope
untuk membagikan status dari composableTabRow
dengan 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 Platform, Kartu, dan Tombol Material TV. (Id2b89)
CarouselItem
danCarouselScope
telah dihapus. Animasi konten latar depan dapat dicapai di slide menggunakanModifier.animateEnterExit
dariAnimatedContentScope
. (Ic038e)- Menggabungkan parameter
color
dancontentColor
sebagaicolors
untuk Platform Material TV. (Ie69eb) - Memperkenalkan composable
RadioButton
di TV Material. (I08690) - Memperkenalkan composable
Switch
di TV Material. (I45e29) - Memperkenalkan composable
Checkbox
di TV Material. (I6a45a) - Memperkenalkan Platform yang tidak dapat berinteraksi di TV Material. (Ic5f85)
- Membuat indikasi secara 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
CarouselSlide
danslideCount
diCarousel
menjadiCarouselItem
danitemCount
. (Ie554c) - Mengganti nama
forward
danbackward
ContentTransforms
menjadiStartToEnd
danEndToStart
. (Ie554c)
Perbaikan Bug
- Tangani tombol DPAD kembali saat difokuskan 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 Ikon di TV Material 3 (I72db9)
- Memperkenalkan composable Permukaan ke
tv-material
dengan indikasi seperti Batas, Glow, dan Skala, yang dapat digunakan untuk membuat komponen yang dengan jelas menandai elemen yang difokuskan di layar TV. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376) - Mengupdate
CarouselItem
keCarouselSlide
agar cocok dengan nama parameterslideCount
di 'Carousel' API (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.material
menjadiandroidx.tv.material3
dan meratakan struktur paket padaandroidx.tv.material3
. (I6ca52) - Indikator dalam baris Indikator Carousel sekarang menjadi slot yang dapat disesuaikan oleh developer. (268af2a)
- Mengganti nama
focusableItem
menjadiimmersiveListItem
. Pengguna harus menambahkan pengubahfocusable()
atauclickable()
secara manual bersama denganimmersiveListItem
(5dd5078)(b/263061052) - Mengganti nama
timeToDisplayMillis
menjadiautoScrollDurationMillis
di komponen Carousel. (431494a) CarouselItem
kini dibatasi untuk digunakan dalamCarousel
. (431494a)- Carousel kini menerima
ContentTransforms
sebagai definisi animasi, bukanEnterTransition
danExitTransitions
. (431494a) - Memperkenalkan
PinnableContainer
API yang disebarkan oleh daftar lambat melalui komposisi lokal yang memungkinkan penyematan item saat ini. (Ib8881, b/259274257, b/195049010) - Menambahkan properti
mainAxisItemSpacing
keTvLazyListLayoutInfo
danTvLazyGridLayoutInfo
(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
TvLazyColumn
berisiTvLazyRow
kosong. (e11b4fe), (b/260299091) - Pengubah
clickable
kini 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
TabRow
kini 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/TvLazyColumns
dengan 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
scrollableWithPivot
untuk 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
,TvLazyVerticalGrid
agar 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
TextField
tidak selalu membuka keyboard atau dapat menghambat fokus untuk berpindah ke kolom lain. - Scroll secara vertikal di
LazyColumn
yang berisiLazyRows
memiliki performa buruk.