tv

  
Geliştiricilerin TV uygulamaları yazabilmesi için Compose ve Materyal Tasarım işlevlerini sağlar.
Son Güncelleme Kararlı sürüm Sürüm Adayı Beta Sürümü Alfa sürümü
16 Temmuz 2025 1.0.1 - - 1.1.0-alpha01

Bağımlılıkları bildirme

tv-foundation ve tv-material bağımlılıklarını eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:

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

Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz olursa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.

Bu yapıyla ilgili sürüm notu yok.

Tv-Material Version 1.1

Sürüm 1.1.0-alpha01

15 Ocak 2025

androidx.tv:tv-material:1.1.0-alpha01 iptal edilir. 1.1.0-alpha01 sürümü bu commit'leri içerir.

API Değişiklikleri

  • FocusEnterExitScope.cancelFocus() öğesini cancelFocusChange() olarak değiştirme(I89959)
  • FocusProperties.enter ve FocusProperties.exit, FocusDirection parametresi yerine alıcı kapsamı kullanılarak sırasıyla onEnter ve onExit ile değiştirildi. (I6e667)

Hata Düzeltmeleri

  • Ölçeklendirme sırasında titrek metni düzeltmek için CompositingStrategy.OffScreen, Yüzey'den Metin'e taşındı. (I92b15f17)
  • Banttaki bozuk odak yönetimini düzeltildi (Ie508b721375)
  • Surface (etkileşimli olmayan), etkileşimli olanlara kıyasla daha basit bir uygulamaya sahiptir. (I7ea545150)

Tv-Material Version 1.0

Sürüm 1.0.1

16 Temmuz 2025

androidx.tv:tv-material:1.0.1 iptal edilir. 1.0.1 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • NavigationDrawerItem yüksekliği, spesifikasyonlarla eşleşecek şekilde güncellendi. (cf9a3ce)
  • Birleştirme stratejisi yapılandırması, Surface composable'dan Text composable'a taşındı. Bu düzeltme, Exoplayer'ın daha düşük Android API sürümlerinde Surface composable'larında oluşturulmamasına neden olan hatayı düzeltir. (9858ffb)

Sürüm 1.0.0

21 Ağustos 2024

androidx.tv:tv-material:1.0.0 iptal edilir. 1.0.0 sürümü, androidx.tv:tv-material'nın ilk kararlı sürümüdür.

Sürüm 1.0.0-rc02

7 Ağustos 2024

androidx.tv:tv-material:1.0.0-rc02 iptal edilir. 1.0.0-rc02 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Surface composable'da titrek metin animasyonu sorunu düzeltildi. (3163319)

Sürüm 1.0.0-rc01

10 Temmuz 2024

androidx.tv:tv-material:1.0.0-rc01 iptal edilir. 1.0.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.0.0-beta01

1 Mayıs 2024

androidx.tv:tv-material:1.0.0-beta01 iptal edilir. 1.0.0-beta01 sürümü bu commit'leri içerir.

API Değişiklikleri

  • ColorScheme ve yardımcı işlevleri artık kararlı. (If34fa)
  • LocalContentColor artık kararlı sürümde (I60ee2)
  • Typography API artık kararlı (I088d6)
  • Şekil API'leri artık kararlı (I0f5f4)
  • Border API artık kararlı (I69281)
  • Glow API artık kararlı (Iea5f1)
  • Simge bileşeni artık kararlı (I62c2d)
  • LocalTextStyles API artık kararlı (Iaded8)
  • MaterialTheme API artık kararlı (I2f541)
  • Metin bileşeni artık kararlı (Ib9e31)
  • RadioButton bileşeni artık kararlı (Ia03c8)
  • Geçiş bileşeni artık kararlı (I6cea3)
  • Checkbox bileşenleri artık kararlı (I7eafc)
  • Yüzey bileşenleri artık kararlı (I58758, I04aca)
  • NonInteractiveSurfaceDefaults adlı öğeyi SurfaceDefaults, NonInteractiveSurfaceColors adlı öğeyi ise SurfaceColors olarak yeniden adlandırdı (I0812e)
  • Seçilebilir Yüzey, farklı semantik anlamlara sahip oldukları için artık "işaretle" yerine "seç" terminolojisini kullanıyor (I5a206).
  • NavigationDrawer ve NavigationDrawerScope artık kararlı (I249c1)
  • NavigationDrawerItem bileşeni artık kararlı (Id6986)
  • Sekme ve TabRow bileşenleri artık kararlı (I92d92)
  • Button, OutlinedButton, IconButton, OutlinedIconButton ve WideButton bileşenleri artık kararlı (Ib4de8)
  • Card, ClassicCard, CompactCard, WideClassicCard, StandardCardContainer ve WideCardContainer bileşenleri artık kararlı (I34390)
  • StandardCardLayout adlı öğeyi StandardCardContainer, WideCardLayout adlı öğeyi ise WideCardContainer olarak yeniden adlandırdı (I08883)
  • CardContainerDefaults.ImageCard kaldırıldı ve CardDefaults.ContainerGradient, CardDefaults.ScrimBrush olarak yeniden adlandırıldı (I6adfe). Kart kapsayıcılarınızda CardContainerDefaults.ImageCard yerine Card kullanabilirsiniz.
  • ListItem ve DenseListItem artık kararlı (Idebd9)
  • ListItemDefaults.ListItemShape, ListItemDefaults.FocusedDisabledBorder ve ListItemDefaults.SelectedContainerColorOpacity artık gizli (I5d533)
  • ListItem parametreleri yeniden düzenlendi ve ListItemDefaults.ListItemElevation, ListItemDefaults.TonalElevation olarak yeniden adlandırıldı (Id6841). headlineContent parametresi, composable'ın en üstüne taşındı. Daha önce, headlineContent parametresini iletmek için Kotlin'in sondaki lambda söz diziminden yararlanabiliyordunuz. Şimdi, headlineContent değerini sağlamak için adlandırılmış parametre söz dizimini kullanmanız gerekir.
  • LocalAbsoluteTonalElevation artık dahili (Ibfc65)
  • ImmersiveList bileşeni kaldırıldı. Kendiniz nasıl oluşturacağınızı öğrenmek için bu örneğe göz atın. (Id48da)
  • API'lerinde MutableInteractionSource gösteren tv-material bileşenleri, artık varsayılan olarak null değerini alan, null değer atanabilir bir MutableInteractionSource gösterecek şekilde güncellendi. Burada anlamsal bir değişiklik yoktur: null iletmek, MutableInteractionSource öğesini yükseltmek istemediğiniz anlamına gelir ve gerekirse bileşenin içinde oluşturulur. Değeri null olarak değiştirmek, bazı bileşenlerin hiçbir zaman MutableInteractionSource ayırmamasına ve diğer bileşenlerin yalnızca ihtiyaç duyduklarında geç oluşturmasına olanak tanır. Bu da bu bileşenlerde performansı artırır. Bu bileşenlere ilettiğiniz MutableInteractionSource değerini kullanmıyorsanız bunun yerine null iletmeniz önerilir. Kendi bileşenlerinizde de benzer değişiklikler yapmanız önerilir. (I309b4, b/298048146)
  • TV Metni bileşeninin TextAlign parametresi artık boş olmayan bir değerdir (Ib73b1, b/299490814)
  • ParagraphTextStyle'in TextAlign, TextDirection, Hyphens ve LineBreak alanları için (I4197e, b/299490814) yerine geçecek özel bir Belirtilmemiş değeri kullanıma sunuldu.

Davranış Değişiklikleri (Behaviour Changes)

  • Etkileşimli olmayan Surface için shape parametresinin varsayılan değeri RectangleShape olarak değiştirildi (I1b859cb)
  • Gerekli API'ler deneysel olduğu için (I0e755d4) beta lansmanında bazı bant özellikleri kullanılamayacak.
  • Surface içindeki contentColor değiştirildiğinde artık durumlar arasında animasyon oluşturulmuyor (I436e794f)

Sürüm 1.0.0

Sürüm 1.0.0-alpha12

15 Ocak 2025

androidx.tv:tv-foundation:1.0.0-alpha12 iptal edilir. 1.0.0-alpha12 sürümü bu commit'leri içerir.

API Değişiklikleri

  • tv-foundation'daki tembel düzenleri temizleyin. tv-foundation tembel düzenlerinden geçiş yapmak için 1.0.0-alpha11 sürüm notlarına bakın. (I2fdd3, b/358913893)

Sürüm 1.0.0-alpha11

10 Temmuz 2024

androidx.tv:tv-foundation:1.0.0-alpha11 iptal edilir. 1.0.0-alpha11 sürümü bu commit'leri içerir.

API Değişiklikleri

  • Tv Lazy Layouts, tv-foundation kitaplığından kaldırıldı. TV tembel düzenlerinden nasıl geçiş yapacağınızı öğrenmek için bu destek kaydına bakın. (I0855f, b/332674072)
  • PlatformImeOptions artık arayüz yerine somut bir sınıf. (If40a4)

Sürüm 1.0.0-alpha10

4 Ekim 2023

androidx.tv:tv-foundation:1.0.0-alpha10 ve androidx.tv:tv-material:1.0.0-alpha10 yayınlandı. Version 1.0.0-alpha10 contains these commits.

Yeni Özellikler

  • NavigationDrawer ve ModalNavigationDrawer içinde kullanılmak üzere NavigationDrawerItem tanıtıldı. (I4b491)
  • tv-foundation kitaplığına temel profil ekleyin. (2b57fd7)
  • tv-material kitaplığına temel profil ekleyin. (1711ff5)

API Değişiklikleri

  • NavigationDrawerScope.doesTabRowHaveFocus, NavigationDrawerScope.hasFocus olarak yeniden adlandırıldı. (I8286b)
  • TabRowScope.isActivated, TabRowScope.hasFocus olarak yeniden adlandırıldı. (Ic4273)

Hata Düzeltmeleri

  • Carousel'in, odak geri yükleme API'lerini kullanan bitişik öğelerle uyumluluğu düzeltildi. (7b2a7a4)
  • API_LEVEL 28'den düşükse işletim sistemi tarafından desteklenmediği için parıltı göstergesini devre dışı bırakın. (6d3616f)
  • Ters yönde hızlı kaydırma sırasında öğelerin tembel kapsayıcılara yanlış yerleştirilmesinden kaynaklanan ANR kilitlenmesi düzeltildi. (642d65c)
  • Kalıcı gezinme çekmecesinde arka plan dolgusu kaldırıldı. (69965b2)
  • Gezinme çekmecesindeki karartma, arka plan içeriğinin arkasında değil üzerinde çizilecek şekilde düzeltildi. (d4bbefb)

Sürüm 1.0.0-alpha09

6 Eylül 2023

androidx.tv:tv-foundation:1.0.0-alpha09 ve androidx.tv:tv-material:1.0.0-alpha09 yayınlandı. Version 1.0.0-alpha09 contains these commits.

API Değişiklikleri

  • Alt bileşenlerin yaşam döngüsünü ve yeniden kullanımını yönetmek için ReusableComposition arayüzü eklendi. (I812d1, b/252846775)
  • tv-foundation fork'unu compose-foundation ile senkronize edin. (I737c3, b/287011882)
  • LazyLayout aşırı yüklemesi eklendi. Artık daha önce olduğu gibi düz bir nesne değil, LazyLayoutItemProvider lambda'sı kabul ediyor. Önceki aşırı yükleme kullanımdan kaldırıldı. (I42a5a)
  • Geliştiricinin, AndroidImeOptions aracılığıyla dokunmatik klavye konumunu yapılandırmasına izin vermek için TvKeyboardAlignment ekleyin. (Idb772)
  • TV Compose Material ile CarouselState öğesini hatırlamak için rememberCarouselState öğesini Saver ile birlikte ekleyin. (Id7275)
  • Kullanıcıların scrim'e gradyan eklemesine izin vermek için scrimColor: Color parametresini scrimBrush:Brush parametresiyle değiştirme. (I254d4)

Sürüm 1.0.0-alpha08

26 Temmuz 2023

androidx.tv:tv-foundation:1.0.0-alpha08 ve androidx.tv:tv-material:1.0.0-alpha08 yayınlandı. Version 1.0.0-alpha08 contains these commits.

Yeni Özellikler

  • TV için Compose materyali için Chip bileşenlerini kullanıma sunma. (I86da4)
  • TV Compose Material'a ListItem bileşenini ekleyin. (I3f0b3)
  • TV Compose Material'a DenseListItem bileşenini ekleyin. (I536bf)

API Değişiklikleri

  • Herkese açık TV materyali API'leri deneysel olarak işaretlendi. (I632e7)
  • TabRowScope, TabRow composable'dan Tab composable ile durum paylaşmak için kullanıma sunuldu ve TabColors özellikleri yeniden adlandırıldı. (Ief587)

Sürüm 1.0.0-alpha07

7 Haziran 2023

androidx.tv:tv-foundation:1.0.0-alpha07 ve androidx.tv:tv-material:1.0.0-alpha07 yayınlandı. 1.0.0-alpha07 sürümü şu commit'leri içerir.

API Değişiklikleri

  • Bileşenlerin ölçek göstergelerine artık ölçeklemeyi devre dışı bırakmak için Yok seçeneği de dahil ediliyor. (I50df5)
  • TV Material Surface, kartlar ve düğmeler için uzun tıklama desteği eklendi. (Id2b89)
  • CarouselItem ve CarouselScope kaldırıldı. Ön plan içerik animasyonu, AnimatedContentScope içinden Modifier.animateEnterExit kullanılarak slaytta elde edilebilir. (Ic038e)
  • TV Materyal Yüzeyi için color ve contentColor parametreleri colors olarak birleştirildi. (Ie69eb)
  • TV Materyal'de RadioButton composable'ı kullanıma sunduk. (I08690)
  • TV Materyal'de Switch composable'ı kullanıma sunduk. (I45e29)
  • TV Materyal'de Checkbox composable'ı kullanıma sunduk. (I6a45a)
  • TV materyalinde etkileşime girilemeyen yüzey tanıtıldı. (Ic5f85)
  • Göstergeleri dahili hale getirin. (Ibff82)

Sürüm 1.0.0-alpha06

19 Nisan 2023

androidx.tv:tv-foundation:1.0.0-alpha06 ve androidx.tv:tv-material:1.0.0-alpha06 yayınlandı. 1.0.0-alpha06 sürümü şu commit'leri içerir.

Yeni Özellikler

  • TV için optimize edilmiş Material 3 kart uygulamaları ekleyin.
    • Basic Card (I5b701)
    • ClassicCard, CompactCard ve WideClassicCard (I70471)
    • StandardCardLayout ve WideCardLayout (I33fae)
  • TV için optimize edilmiş Materyal 3 düğme uygulamaları ekleyin.

API Değişiklikleri

  • Carousel içindeki CarouselSlide ve slideCount, CarouselItem ve itemCount olarak yeniden adlandırıldı. (Ie554c)
  • forward ve backward ContentTransforms, StartToEnd ve EndToStart olarak yeniden adlandırıldı. (Ie554c)

Hata Düzeltmeleri

  • NavigationDrawer öğesine odaklanıldığında geri DPAD düğmesini işleyin. (d654f4)

Sürüm 1.0.0-alpha05

22 Mart 2023

androidx.tv:tv-foundation:1.0.0-alpha05 ve androidx.tv:tv-material:1.0.0-alpha05 yayınlandı. 1.0.0-alpha05 sürümü şu commit'leri içerir.

API Değişiklikleri

  • tv-material'ya eklenebilen yan gezinme çekmecesi composable'ı kullanıma sunuldu. Bu composable'ı nasıl kullanacağınızı öğrenmek için lütfen örneklere bakın. (I12c08)
  • TV Material 3'te Icon composable'ı tanıtın (I72db9)
  • Border, Glow ve Scale gibi göstergelerle tv-material için Surface composable'ı kullanıma sunuyoruz. Bu göstergeler, TV ekranında odaklanılan öğeyi net bir şekilde vurgulayan bileşenler oluşturmak için kullanılabilir. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376)
  • "Bant" API'sindeki slideCount parametre adıyla eşleşmesi için CarouselItem parametresini CarouselSlide olarak güncelleyin (Ic4299).

Sürüm 1.0.0-alpha04

8 Şubat 2023

androidx.tv:tv-foundation:1.0.0-alpha04 ve androidx.tv:tv-material:1.0.0-alpha04 yayınlandı. 1.0.0-alpha04 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Tembel satırlarda, sütunlarda ve ızgaralarda, öğenin tamamının görünüme getirilmesi için gerekirse pivot geçersiz kılınır. (11d7e40)
  • Sekme renklerinin farklı durumlarda özelleştirilmesini ekleyin. (21b2925)
  • Döngü artık ileri ve geri manuel kaydırma için özel animasyonları kabul ediyor. (431494a)

API Değişiklikleri

  • androidx.tv.material öğesini androidx.tv.material3 olarak yeniden adlandırma ve androidx.tv.material3 altındaki paket yapısını düzleştirme. (I6ca52)
  • Carousel Indicator satırındaki gösterge artık geliştirici tarafından özelleştirilebilen bir alan. (268af2a)
  • focusableItem, immersiveListItem olarak yeniden adlandırıldı. Kullanıcıların focusable() veya clickable() değiştiricisini immersiveListItem ile birlikte manuel olarak eklemesi gerekir (5dd5078)(b/263061052)
  • Atlı karınca bileşeninde timeToDisplayMillis, autoScrollDurationMillis olarak yeniden adlandırıldı. (431494a)
  • CarouselItem artık yalnızca Carousel içinde kullanılabilir. (431494a)
  • Carousel artık EnterTransition ve ExitTransitions yerine animasyon tanımı olarak ContentTransforms kabul ediyor. (431494a)
  • PinnableContainer Mevcut öğenin sabitlenmesine olanak tanıyan bir kompozisyon yereli aracılığıyla tembel listeler tarafından yayılan API'yi kullanıma sunduk. (Ib8881, b/259274257, b/195049010)
  • mainAxisItemSpacing mülkü TvLazyListLayoutInfo ve TvLazyGridLayoutInfo'ye eklendi (I37765)

Hata Düzeltmeleri

  • 0 veya 1 sekme sayısını doğru şekilde işlediğinden emin olmak için sekme satırını güncelleyin. (I44009), (1c01525), (b/264018028)
  • TvLazyColumn boş TvLazyRow içerdiğinde odak arama kilitlenmesi düzeltildi. (e11b4fe), (b/260299091)
  • clickable değiştiricisi artık ImmersiveList ile çalışıyor. (5dd5078), (b/263061052)
  • Geri tuşu artık işleniyor ve Öne Çıkan Öğeler Karuselinden çıkmak için kullanılıyor. (84c138c)
  • Carousel, tuşlara hızlıca birden fazla kez basıldığında odağını kaybetmiyor. (799489f)
  • Düğmeye uzun basıldığında kaydırma çubuğu odağını kaybetmiyor. (b2cf37e)
  • Carousel slayt sayısı değiştiğinde yaşanan kilitlenme sorunları giderildi. (b261247)

Sürüm 1.0.0-alpha03

7 Aralık 2022

androidx.tv:tv-foundation:1.0.0-alpha03 ve androidx.tv:tv-material:1.0.0-alpha03 yayınlandı. 1.0.0-alpha03 sürümü şu commit'leri içerir.

Yeni Özellikler

  • TabRow artık deneysel bir API olarak kullanılabiliyor. Bu API sayesinde kullanıcılar, uygulamalarına üst gezinme çubukları ekleyebiliyor. Genellikle TV cihazları, sekme başlığı sekme satırında odaklandığında sekmelerin yüklenmesini bekler.
  • Alt çizgi göstergesi ve kapsül göstergesi gibi TV'ye özel göstergeler kullanıma hazır olarak sunulur. Kullanım örneklerini tv-samples içinde bulabilirsiniz.

Sürüm 1.0.0-alpha02

9 Kasım 2022

androidx.tv:tv-foundation:1.0.0-alpha02 ve androidx.tv:tv-material:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • Odak arama alanını küçülterek TvLazyRows/TvLazyColumns koleksiyonunda gezinirken kaydırma performansını iyileştirme.(I723a3)

Sürüm 1.0.0-alpha01

5 Ekim 2022

androidx.tv:tv-foundation:1.0.0-alpha01 ve androidx.tv:tv-material:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü şu commit'leri içerir.

Yeni Özellikler

İlk alfa sürümünde, aşağıdakiler de dahil olmak üzere TV kullanım alanlarına yönelik bileşenlerin erken önizleme uygulamaları yer almaktadır:

  • Row, Column, Grid gibi tembel olmayan kaydırma kapsayıcılarının, kaydırma kapsayıcısının içeriği kaydırarak odaklanılan öğenin TV ekranında aynı konumda kalmasını sağlamasına olanak tanımak için scrollableWithPivot değiştiricisini ekleyin.
  • Odaklanılan öğenin TV ekranında aynı konumda kalması için kaydırma kapsayıcısının içeriği kaydırmasını sağlamak üzere TvLazyRow,TvLazyColumn, TvLazyHorizontalGrid, TvLazyVerticalGrid composable'larını ekleyin.
  • Kullanıcının otomatik kaydırma özelliğine sahip banner rulosu oluşturmasına olanak tanıyan, TV için Öne Çıkan Rulo composable'ı eklendi.
  • Kullanıcının, odaklanılan liste öğesine göre arka planı değiştiren bir Immersive Row/Column/Grid oluşturmasına olanak tanıyan TV için Immersive List composable'ı eklendi.

Bilinen sorunlar

  • Kaydırma kapsayıcısı odaklandığında ilk öğe varsayılan olarak odaklanmaz.
  • TextField odaklanıldığında klavye her zaman açılmaz veya odağın diğer alanlara taşınması engellenebilir.
  • LazyRows içeren bir LazyColumn içinde dikey olarak kaydırma işlemi düşük performansla yapılıyor.