Android TV'de Jetpack Compose'u kullanma

TV için Oluşturma, Android TV kullanıcı arayüzleri oluşturmak için önerdiğimiz yaklaşımdır. TV uygulamalarınız için Android Jetpack Compose'un tüm avantajlarını sunarak uygulamanız için güzel ve işlevsel kullanıcı arayüzleri oluşturmayı çok daha kolay hale getirir. TV için Oluşturma'yı kullanmanın sağladığı bazı avantajlar şunlardır:

  • Esneklik: Oluşturma, basit düzenlerden karmaşık animasyonlara kadar her türde kullanıcı arayüzü oluşturmak için kullanılabilir. Bileşenler kullanıma hazırdır, ancak uygulamanızın ihtiyaçlarına göre özelleştirilebilir ve şekillendirilebilir.
  • Basitleştirilmiş ve Hızlandırılmış Geliştirme: Oluşturma mevcut kodla uyumludur ve geliştiricilerin daha az kodla daha verimli bir şekilde uygulama derlemelerine olanak tanır.
  • Kullanımı kolaydır: Compose, kullanıcı arayüzünüzde değişiklikler yapmanıza, hata ayıklamanıza, kodu anlamanıza ve incelemenize olanak tanıyan bildirim temelli bir söz dizimi kullanır.

Jetpack Compose araç setini kullanmaya aşina değilseniz Compose yolu'na göz atın. Mobil İçerik Oluşturma ile ilgili geliştirme ilkelerinin çoğu TV için de geçerlidir. Bildirim temelli bir kullanıcı arayüzü çerçevesinin genel avantajları hakkında daha fazla bilgi için Neden Oluşturma bölümüne bakın. Daha fazla bilgi edinmek için GitHub'daki TV örnekleri için Compose depo sayfasına da göz atın.

Uyumluluk

TV için oluşturma özelliği, API düzeyi 21 veya sonraki sürümleri olan Android TV'lerde çalışır. Compose for TV'nin 1.0 sürümünün kullanılması için androidx.compose kitaplıklarının 1.3.0 sürümü ve Kotlin 1.7.10 gerekir.

Kurulum

Android TV'de Jetpack Compose'u kullanmak diğer Android projeleri için Jetpack Compose'a benzerdir. Aralarındaki temel fark TV için Compose'un TV için optimize edilmiş bileşenler sunan ve TV'ye uygun kullanıcı arayüzleri oluşturmayı kolaylaştıran kitaplıklar eklemesidir. Bazı durumlarda bu bileşenler, androidx.tv.material3.Button ve androidx.compose.material3.Button gibi TV harici eşdeğerleriyle aynı adı paylaşır.

Jetpack Compose araç seti bağımlılıkları

TV için Compose'u kullanmak için Jetpack Compose araç kiti bağımlılıklarını uygulamanızın build.gradle dosyasına aşağıdaki şekilde eklemeniz gerekir:

Kotlin

dependencies {
   val composeBom = platform("androidx.compose:compose-bom:2024.04.01")
   implementation(composeBom)

   // General compose dependencies
   implementation("androidx.activity:activity-compose:1.8.2")

   implementation("androidx.compose.ui:ui-tooling-preview")
   debugImplementation("androidx.compose.ui:ui-tooling")

   // Compose for TV dependencies
   val tvCompose = "1.0.0-alpha10"
   implementation("androidx.tv:tv-foundation:$tvCompose")
   implementation("androidx.tv:tv-material:$tvCompose")
}

Modern

dependencies {
   def composeBom = platform('androidx.compose:compose-bom:2024.04.01')
   implementation composeBom

   // General compose dependencies
   implementation 'androidx.activity:activity-compose:1.8.2'

   implementation 'androidx.compose.ui:ui-tooling-preview'
   debugImplementation 'androidx.compose.ui:ui-tooling'

   // Compose for TV dependencies
   def tvCompose = '1.0.0-alpha10'
   implementation 'androidx.tv:tv-foundation:$tvCompose'
   implementation 'androidx.tv:tv-material:$tvCompose'
}

Farklı olan

Mümkün olduğunda API'lerin TV sürümünü kullanın. Materyal Oluşturma özelliğinin mobil sürümünü kullanmak teknik olarak mümkün olsa da, Android TV'deki benzersiz etkileşim stili için optimize edilmemiştir. Ayrıca, TV için Compose'daki Compose Material ile Compose Material'ın birlikte kullanılması beklenmedik davranışlara neden olabilir. Örneğin, her kitaplığın kendi MaterialTheme nesnesi olduğundan, her iki sürüm de kullanılırsa renkler, tipografi veya şekiller tutarsız olabilir.

Aşağıdaki tabloda TV ile Mobil arasındaki bağımlılık farklılıkları gösterilmektedir:

TV Bağımlılığı
(androidx.tv.*)
Karşılaştırma Mobil Bağımlılık
(androidx.compose.*)
androidx.tv:tv-malzemesi yerine androidx.compose.material3:material3
androidx.tv:tv-temel buna ek olarak androidx.compose.foundation:temel

Daha fazla bilgi

Aşağıdakiler için TV için optimize edilmiş mükemmel deneyimler oluşturma hakkında bilgi edinmek üzere bu kılavuzları inceleyin: