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

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

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

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

אם אתם לא מכירים את ערכת הכלים Jetpack Compose, כדאי לעיין בתוכנית הלימודים בנושא Compose. הרבה מעקרונות הפיתוח של Compose לנייד חלים גם על טלוויזיה. מידע נוסף על היתרונות הכלליים של מסגרת הצהרתית לממשק משתמש זמין במאמר למה כדאי להשתמש ב-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 (נדרשת הגרסה האחרונה של Canary)

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

תאימות

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

הגדרה

השימוש ב-Jetpack Compose ב-Android TV דומה לשימוש ב-Jetpack Compose בכל פרויקט אחר ל-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:2025.05.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")
}

מגניב

dependencies {
   def composeBom = platform('androidx.compose:compose-bom:2025.05.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'
}

מה ההבדל

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

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

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

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

בטבלה הבאה מפורטים ההבדלים בתלות בין TV לבין Mobile:

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

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

קריאה נוספת

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