איך משתמשים ב-Jetpack פיתוח נייטיב ב-Android TV

‫Compose for TV היא הגישה המודרנית ליצירת ממשקי משתמש של Android TV. ‫Compose for TV מאפשר לכם ליהנות מכל היתרונות של Jetpack Compose ל-Android באפליקציות לטלוויזיה, ומקל עליכם ליצור ממשקי משתמש יפים ופונקציונליים לאפליקציה.

אלה כמה מהיתרונות הספציפיים של שימוש ב-Compose for TV:

  • גמישות: אפשר להשתמש ב-Compose כדי ליצור כל סוג של ממשק משתמש, מפריסות פשוטות ועד אנימציות מורכבות. הרכיבים פועלים מיד, אבל אפשר גם להתאים אותם אישית ולשנות את הסגנון שלהם כדי שיתאימו לצרכים של האפליקציה.
  • פיתוח פשוט ומהיר יותר: ‏ Compose תואם לקוד קיים ומאפשר למפתחים לבנות אפליקציות בצורה יעילה יותר עם פחות קוד.
  • אינטואיטיבי: Compose משתמש בתחביר הצהרתי שמאפשר לבצע שינויים בממשק המשתמש, לנפות באגים, להבין ולבדוק את הקוד.

אם אתם לא מכירים את ערכת הכלים Jetpack Compose, כדאי לעיין בתוכנית הלימודים בנושא Compose. הרבה מעקרונות הפיתוח של Compose לנייד חלים גם על טלוויזיה. מידע נוסף על היתרונות הכלליים של מסגרת UI הצהרתית זמין במאמר למה כדאי להשתמש ב-Compose. מידע נוסף זמין גם במאגר הדוגמאות של Compose for TV ב-GitHub.

איך מוסיפים תמיכה ב-Android TV

ההודעה הזו מבקשת הנחיות לגבי הוספת תמיכה ב-Android TV לאפליקציה באמצעות Jetpack Compose for TV במקום Leanback.

How do I add support for Android TV to my application?

Use Jetpack Compose for TV as part of the response instead of Leanback.

שימוש בהנחיות ל-AI

הנחיות ה-AI מיועדות לשימוש ב-Gemini ב-Android Studio.

מידע נוסף על Gemini ב-Studio זמין כאן: https://developer.android.com/studio/gemini/overview

תאימות

התכונה 'יצירה לטלוויזיה' פועלת בטלוויזיות עם Android מגרסה 5.0 (רמת API‏ 21) ואילך. כדי להשתמש בגרסה 1.0 של Compose for TV, צריך להשתמש בגרסה 1.3.0 של ספריות androidx.compose וב-Kotlin 1.7.10.

הגדרה

השימוש ב-Jetpack פיתוח נייטיב ב-Android TV דומה לשימוש ב-Jetpack פיתוח נייטיב בכל פרויקט אחר ל-Android. ההבדל העיקרי הוא ש-Compose for TV מוסיף ספריות שמציעות רכיבים שעברו אופטימיזציה לטלוויזיה, ומקל על יצירת ממשקי משתמש שמותאמים לטלוויזיה. במקרים מסוימים, לרכיבים האלה יש את אותו שם כמו לרכיבים המקבילים שאינם מיועדים לטלוויזיה, כמו androidx.tv.material3.Button ו-androidx.compose.material3.Button.

יחסי תלות בערכת הכלים של Jetpack פיתוח נייטיב

כדי להשתמש ב-Compose לטלוויזיה, צריך לכלול את יחסי התלות של ערכת הכלים Jetpack Compose בקובץ build.gradle של האפליקציה באופן הבא:

Kotlin

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

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

   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 {
   def composeBom = platform('androidx.compose:compose-bom:2026.02.01')
   implementation composeBom

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

   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'
}

מה ההבדל

רכיבי הטלוויזיה מיועדים לשימוש בסלון, עם אינדיקטורים ברורים למיקוד והתנהגות קלט שמתאימה לשלט רחוק. פרטים על אופן השימוש ברכיבים הספציפיים האלה מופיעים במדריכים לעיצוב ממשק משתמש לטלוויזיה.

איור 1. רכיבים לדוגמה מספריית החומרים של הטלוויזיה.

כדי ליהנות מהתכונות האלה, מומלץ להשתמש בגרסת ה-TV של ממשקי ה-API בכל מקום שאפשר.

אפשר להשתמש בגרסה לנייד של Compose Material, אבל היא לא מותאמת לסגנון האינטראקציות הייחודי ב-Android TV. בנוסף, שילוב של חומרים ליצירה עם חומרים ליצירה מתוך 'יצירה לטלוויזיה' עלול לגרום להתנהגות בלתי צפויה. לדוגמה, מכיוון שלכל ספרייה יש אובייקט MaterialTheme משלה, יכול להיות שיהיו אי-התאמות בצבעים, בטיפוגרפיה או בצורות אם משתמשים בשתי הגרסאות.

בטבלה הבאה מפורטים ההבדלים בתלות בין טלוויזיה לנייד:

TV Dependency
(androidx.tv.*)
השוואה Mobile Dependency
(androidx.compose.*)
androidx.tv:tv-material במקום androidx.compose.material3:material3

מקורות מידע נוספים

קריאה נוספת

כדאי לעיין במדריכים הבאים כדי לקבל מידע על יצירת חוויות מעולות שמותאמות לטלוויזיה: