Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Compose for TV, Android TV kullanıcı arayüzleri oluşturmak için kullanılan modern bir yaklaşımdır. TV için Compose, Android'in Jetpack Compose'unun tüm avantajlarını TV uygulamalarınıza sunarak uygulamanız için güzel ve işlevsel kullanıcı arayüzleri oluşturmayı çok daha kolay hale getirir.
TV için Compose kullanmanın bazı avantajları şunlardır:
Esneklik: Compose, basit düzenlerden karmaşık animasyonlara kadar her tür kullanıcı arayüzü oluşturmak için kullanılabilir. Bileşenler kullanıma hazır olarak sunulur ancak uygulamanızın ihtiyaçlarına uyacak şekilde özelleştirilebilir ve stil verilebilir.
Basitleştirilmiş ve Hızlandırılmış Geliştirme: Compose, mevcut kodla uyumludur ve geliştiricilerin daha az kodla daha verimli bir şekilde uygulama oluşturmasına olanak tanır.
Sezgisel: Compose, kullanıcı arayüzünüzde değişiklik yapmanıza, kodunuzda hata ayıklamanıza, kodunuzu anlamanıza ve incelemenize olanak tanıyan bildirimsel bir söz dizimi kullanır.
Jetpack Compose araç setini kullanma konusunda bilginiz yoksa Compose yoluna göz atın. Mobil Compose'un 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 Compose? başlıklı makaleyi inceleyin. Daha fazla bilgi edinmek için GitHub'daki Compose for TV örnekleri deposuna da göz atın.
auto_awesome Yapay Zeka İstemleri
Android TV desteği eklemeyi öğrenin
Bu istemde, Leanback yerine Jetpack Compose for TV kullanarak uygulamanıza Android TV desteği ekleme konusunda rehberlik isteniyor.
How do I add support for Android TV to my application?
Use Jetpack Compose for TV as part of the response instead of Leanback.
Yapay zeka istemlerini kullanma
Yapay zeka istemleri, Android Studio'daki Gemini'da kullanılmak üzere tasarlanmıştır.
Compose for TV, Android 5.0 (API düzeyi 21) veya sonraki sürümlerin yüklü olduğu Android TV'lerde çalışır.
TV için Compose'un 1.0 sürümünü kullanmak 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 projelerinde Jetpack Compose'u kullanmaya benzer. Aradaki temel fark, Compose for TV'nin TV için optimize edilmiş bileşenler sunan ve TV'ye özel kullanıcı arayüzleri oluşturmayı kolaylaştıran kitaplıklar eklemesidir. Bu bileşenler bazı durumlarda TV dışı muadilleriyle aynı adı paylaşır. Örneğin, androidx.tv.material3.Button ve androidx.compose.material3.Button.
Jetpack Compose araç seti bağımlılıkları
TV için Compose'u kullanmak üzere Jetpack Compose araç seti bağımlılıklarını uygulamanızın build.gradle dosyasına aşağıdaki şekilde ekleyin:
Kotlin
dependencies{valcomposeBom=platform("androidx.compose:compose-bom:2025.08.00")implementation(composeBom)// General compose dependencies.implementation("androidx.activity:activity-compose:1.10.1")implementation("androidx.compose.ui:ui-tooling-preview")debugImplementation("androidx.compose.ui:ui-tooling")// Compose for TV dependencies.implementation("androidx.tv:tv-material:1.0.0")}
Groovy
dependencies{defcomposeBom=platform('androidx.compose:compose-bom:2025.08.00')implementationcomposeBom// General compose dependencies.implementation'androidx.activity:activity-compose:1.10.1'implementation'androidx.compose.ui:ui-tooling-preview'debugImplementation'androidx.compose.ui:ui-tooling'// Compose for TV dependencies.implementation'androidx.tv:tv-material:1.0.0'}
Farklılıklar
TV materyal bileşenleri, oturma odası için tasarlanmıştır. Net odaklanma göstergeleri ve uzaktan kumandaya uygun giriş davranışı içerir. Bu bileşenlerin nasıl kullanılacağıyla ilgili ayrıntılar için TV kullanıcı arayüzü tasarım kılavuzlarına göz atın.
1.şekil TV materyal kitaplığındaki örnek bileşenler.
Bu özelliklerden yararlanmak için mümkün olduğunda API'lerin TV sürümünü kullanın.
Compose Material'ın mobil sürümünü kullanmak teknik olarak mümkün olsa da bu sürüm, Android TV'deki benzersiz etkileşim stili için optimize edilmemiştir. Ayrıca, Compose Material'ı Compose for TV'deki Compose Material ile karıştırmak beklenmedik davranışlara neden olabilir. Örneğin, her kitaplığın kendi MaterialTheme nesnesi olduğundan her iki sürüm de kullanılıyorsa renklerin, tipografinin veya şekillerin tutarsız olma ihtimali vardır.
Aşağıdaki tabloda TV ve mobil cihaz arasındaki bağımlılık farklılıkları özetlenmektedir:
JetStream örneği
TV Compose'un tipik bir Material uygulaması ve gerçek dünya mimarisiyle kullanımını gösteren bir medya akışı uygulaması.
TV için Compose'a Giriş
Bu codelab'de, katalog tarayıcı ekranı ve ayrıntılar ekranı içeren bir video oynatıcı uygulama oluşturma adımları açıklanmaktadır.
Daha fazla bilgi
Aşağıdaki platformlar için TV'ye optimize edilmiş harika deneyimler oluşturma hakkında bilgi edinmek için bu kılavuzları inceleyin:
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-08-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-08-27 UTC."],[],[],null,["Compose for TV is the modern approach for building Android TV\nuser interfaces. Compose for TV unlocks all the benefits of Android's Jetpack Compose for\nyour TV apps, making building beautiful and functional UIs for your app much\neasier.\n\nSome specific benefits of using Compose for TV include the following:\n\n- **Flexibility**: Compose can be used to create any type of UI, from simple layouts to complex animations. Components work out of the box but can also be customized and styled to fit your app's needs.\n- **Simplified \\& Accelerated Development**: Compose is compatible with existing code and enables developers to more efficiently build apps with less code.\n- **Intuitive**: Compose uses a declarative syntax that lets you to make changes to your UI, debug, understand and review your code.\n\nIf you are unfamiliar with using the Jetpack Compose toolkit, check out the\n[Compose pathway](/courses/pathways/compose). Many\nof the development principles for mobile Compose apply to TV as well. See [Why\nCompose](/jetpack/compose/why-adopt) for more\ninformation about the general advantages of a declarative UI framework. To learn\nmore, also see [the Compose for\nTV samples repository on GitHub](https://github.com/android/tv-samples/).\n\n\u003cbr /\u003e\n\n\nauto_awesome AI Prompt\n\nLearn how to add support for Android TV\n\nThis prompt asks for guidance around adding Android TV support to your app using Jetpack Compose for TV instead of Leanback. \n\n How do I add support for Android TV to my application?\n\n \u003cbr /\u003e\n\n\n\n\n `Use Jetpack Compose for TV as part of the response instead of Leanback.`\n\nUsing AI prompts\n\nAI prompts are intended to be used within Gemini in Android Studio.\n\nLearn more about Gemini in Studio here: [https://developer.android.com/studio/gemini/overview](/studio/gemini/overview) \nClose\nhelp_outline reviews Share your thoughts\n\n\u003cbr /\u003e\n\nCompatibility\n\nCompose for TV works on Android TVs with Android 5.0 (API level 21) or higher.\nUsing version 1.0 of Compose for TV requires version 1.3.0 of\n[androidx.compose](/jetpack/androidx/releases/compose) libraries\nand Kotlin 1.7.10.\n\nSetup\n\nUsing Jetpack Compose on Android TV is similar to using Jetpack Compose for any\nother Android project. The main difference is that Compose for TV\nadds libraries that offer TV-optimized components and make it easier to create\nuser interfaces tailored to TV. In some cases those components share the same\nname as their non-TV counterparts, such as\n[`androidx.tv.material3.Button`](/reference/kotlin/androidx/tv/material3/package-summary#Button(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.tv.material3.ButtonScale,androidx.tv.material3.ButtonGlow,androidx.tv.material3.ButtonShape,androidx.tv.material3.ButtonColors,androidx.compose.ui.unit.Dp,androidx.tv.material3.ButtonBorder,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1))\nand\n[`androidx.compose.material3.Button`](/reference/kotlin/androidx/compose/material3/package-summary#Button(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ButtonColors,androidx.compose.material3.ButtonElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)).\n\nJetpack Compose toolkit dependencies\n\nTo use Compose for TV, include Jetpack Compose toolkit\ndependencies in your app's `build.gradle` file as follows: \n\nKotlin \n\n```kotlin\ndependencies {\n val composeBom = platform(\"androidx.compose:compose-bom:2025.08.00\")\n implementation(composeBom)\n\n // General compose dependencies.\n implementation(\"androidx.activity:activity-compose:1.10.1\")\n\n implementation(\"androidx.compose.ui:ui-tooling-preview\")\n debugImplementation(\"androidx.compose.ui:ui-tooling\")\n\n // Compose for TV dependencies.\n implementation(\"androidx.tv:tv-material:1.0.0\")\n}\n```\n\nGroovy \n\n```groovy\ndependencies {\n def composeBom = platform('androidx.compose:compose-bom:2025.08.00')\n implementation composeBom\n\n // General compose dependencies.\n implementation 'androidx.activity:activity-compose:1.10.1'\n\n implementation 'androidx.compose.ui:ui-tooling-preview'\n debugImplementation 'androidx.compose.ui:ui-tooling'\n\n // Compose for TV dependencies.\n implementation 'androidx.tv:tv-material:1.0.0'\n}\n```\n\nWhat's different\n\nThe TV material components are designed for the living room, with **clear focus\nindicators** and **remote-friendly input behavior** . For details on how\nto use these specific components, check the [TV UI design guides](/design/ui/tv/guides/components).\n**Figure 1.** Sample components from the TV material library.\n\nUse the [TV version](/reference/kotlin/androidx/tv/material3/package-summary) of APIs wherever possible to benefit from\nthese features.\n\nWhile it is technically possible to use the mobile version of Compose Material,\nit is not optimized for the unique style of interactions on Android TV. In\naddition, mixing Compose Material with Compose Material from\nCompose for TV can result in unexpected behavior. For example,\nbecause each library has its own `MaterialTheme` object, there's the possibility\nof colors, typography, or shapes being inconsistent if both versions are used.\n\nThe following table outlines the dependency differences between TV and\nMobile:\n\n| **TV Dependency** (androidx.tv.\\*) | **Comparison** | **Mobile Dependency** (androidx.compose.\\*) |\n|------------------------------------------------------------------------------------|------------------|---------------------------------------------|\n| [androidx.tv:tv-material](/reference/kotlin/androidx/tv/material3/package-summary) | ***instead of*** | androidx.compose.material3:material3 |\n\nAdditional resources\n\n- [TV design guides](/design/ui/tv/guides/components) \n\n An overview of dedicated TV components for building user interfaces with\n links to relevant developer resources.\n\n- [TV Material Catalog sample](https://github.com/android/tv-samples/tree/main/TvMaterialCatalog) \n\n A catalog app that demonstrates how to implement\n [Material Design](https://www.material.io) principles using Compose for TV.\n\n- [JetStream sample](https://github.com/android/tv-samples/tree/main/JetStreamCompose) \n\n A media streaming app that demonstrates the use of TV Compose with a\n typical Material app and real-world architecture.\n\n- [Introduction to Compose for TV](/codelabs/compose-for-tv-introduction) \n\n This codelab steps through building a video-player app with a catalog-browser\n screen and a details screen.\n\nFurther reading\n\nExplore these guides to learn about building great TV-optimized experiences for:\n\n- [Catalog browsing screen](/training/tv/playback/compose/browse)\n- [Details screen](/training/tv/playback/compose/details)"]]