טלוויזיה

  
מספק למפתחים פונקציות של Compose ו-Material Design כדי לכתוב אפליקציות לטלוויזיה
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫16 ביולי 2025 1.0.1 - - 1.1.0-alpha01

הצהרה על יחסי תלות

כדי להוסיף יחסי תלות ב-tv-foundation וב-tv-material, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.

מוסיפים את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:

מגניב

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

מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ב-Build.

משוב

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

יצירת בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא כלי המעקב אחר בעיות.

אין הערות לגבי הגרסה של הארטיפקט הזה.

גרסה 1.1 של Tv-Material

גרסה 1.1.0-alpha01

‫15 בינואר 2025

androidx.tv:tv-material:1.1.0-alpha01 משוחרר. גרסה 1.1.0-alpha01 מכילה את הקומטים האלה.

שינויים ב-API

  • שינוי של FocusEnterExitScope.cancelFocus() ל-cancelFocusChange()(I89959)
  • הפרמטרים FocusProperties.enter ו-FocusProperties.exit הוחלפו בפרמטרים onEnter ו-onExit, בהתאמה,באמצעות היקף של מקלט במקום הפרמטר FocusDirection. (I6e667)

תיקוני באגים

  • העברנו את CompositingStrategy.OffScreen מ-Surface ל-Text כדי לתקן את הטקסט המקפץ בזמן שינוי הגודל. (I92b15f17)
  • תוקן ניהול פוקוס שבור בקרוסלה (Ie508b721375)
  • למשטח (לא אינטראקטיבי) יש יישום פשוט יותר בהשוואה למשטחים אינטראקטיביים. (I7ea545150)

גרסה 1.0 של חומרים לטלוויזיה

גרסה 1.0.1

‫16 ביולי 2025

androidx.tv:tv-material:1.0.1 משוחרר. גרסה 1.0.1 מכילה את הקומטים האלה.

תיקוני באגים

  • הגובה של NavigationDrawerItem עודכן בהתאם למפרט. (cf9a3ce)
  • העברנו את ההגדרה של אסטרטגיית הקומפוזיציה מהרכיב Surface composable לרכיב Text composable. התיקון הזה פותר את הבאג שבו Exoplayer לא עיבד את ה-Surface composables בגרסאות נמוכות יותר של Android API. (9858ffb)

גרסה 1.0.0

‫21 באוגוסט 2024

androidx.tv:tv-material:1.0.0 משוחרר. גרסה 1.0.0 היא הגרסה היציבה הראשונה של androidx.tv:tv-material.

גרסה 1.0.0-rc02

‫7 באוגוסט 2024

androidx.tv:tv-material:1.0.0-rc02 משוחרר. גרסה 1.0.0-rc02 מכילה את הקומטים האלה.

תיקוני באגים

  • תוקנה אנימציה של טקסט עם רעידות ב-Surface composable. (3163319)

גרסה 1.0.0-rc01

‫10 ביולי 2024

androidx.tv:tv-material:1.0.0-rc01 משוחרר. גרסה 1.0.0-rc01 מכילה את הקומטים האלה.

גרסה 1.0.0-beta01

‫1 במאי 2024

androidx.tv:tv-material:1.0.0-beta01 משוחרר. גרסה 1.0.0-beta01 מכילה את ההעברות האלה.

שינויים ב-API

  • ColorScheme והפונקציות שלו יציבים עכשיו. ‫(If34fa)
  • LocalContentColor יציב עכשיו (I60ee2)
  • Typography API יציב עכשיו (I088d6)
  • ממשקי Shapes API יציבים עכשיו (I0f5f4)
  • ‫Border API יציב עכשיו (I69281)
  • ‫Glow API יציב עכשיו (Iea5f1)
  • רכיב הסמל יציב עכשיו (I62c2d)
  • LocalTextStyles API יציב עכשיו (Iaded8)
  • MaterialTheme API יציב עכשיו (I2f541)
  • רכיב הטקסט יציב עכשיו (Ib9e31)
  • הרכיב RadioButton יציב עכשיו (Ia03c8)
  • רכיב המתג יציב עכשיו (I6cea3)
  • הרכיבים של Checkbox יציבים עכשיו (I7eafc)
  • רכיבי Surface יציבים עכשיו (I58758, ‏ I04aca)
  • השם של NonInteractiveSurfaceDefaults השתנה ל-SurfaceDefaults ושל NonInteractiveSurfaceColors ל-SurfaceColors (I0812e)
  • התכונה 'משטח שאפשר לבחור' משתמשת עכשיו במונח 'בחירה' במקום במונח 'סימון', כי לשניהם יש משמעות סמנטית שונה (I5a206)
  • NavigationDrawer ו-NavigationDrawerScope יציבים עכשיו (I249c1)
  • הרכיב NavigationDrawerItem יציב עכשיו (Id6986)
  • הכרטיסייה והרכיבים של TabRow יציבים עכשיו (I92d92)
  • הרכיבים Button, OutlinedButton, IconButton, OutlinedIconButton ו-WideButton יציבים עכשיו (Ib4de8)
  • הרכיבים Card, ‏ ClassicCard, ‏ CompactCard, ‏ WideClassicCard, ‏ StandardCardContainer ו-WideCardContainer יציבים עכשיו (I34390)
  • השם של StandardCardLayout השתנה ל-StandardCardContainer ושל WideCardLayout ל-WideCardContainer (I08883)
  • הוסר CardContainerDefaults.ImageCard ושם CardDefaults.ContainerGradient שונה ל-CardDefaults.ScrimBrush (I6adfe). אפשר להשתמש ב-Card במקום ב-CardContainerDefaults.ImageCard במאגרי הכרטיסים.
  • ListItem ו-DenseListItem יציבים עכשיו (Idebd9)
  • הסרטונים ListItemDefaults.ListItemShape, ‏ ListItemDefaults.FocusedDisabledBorder ו-ListItemDefaults.SelectedContainerColorOpacity הם עכשיו פרטיים (I5d533)
  • שינוי הסדר של הפרמטרים של ListItem ושינוי השם של ListItemDefaults.ListItemElevation ל-ListItemDefaults.TonalElevation (Id6841). הפרמטר headlineContent הועבר לחלק העליון של ה-composable. בעבר, יכולתם להשתמש בתחביר של Kotlin ל-lambda בסוף כדי להעביר את headlineContent. עכשיו תצטרכו להשתמש בתחביר של פרמטרים עם שמות כדי לספק את headlineContent.
  • LocalAbsoluteTonalElevation הוא עכשיו פנימי (Ibfc65)
  • הרכיב ImmersiveList הוסר. כדי ללמוד איך ליצור אותה בעצמכם, אפשר לעיין בדוגמה הזו. (Id48da)
  • רכיבי tv-material שחושפים MutableInteractionSource בממשק ה-API שלהם עודכנו כך שהם חושפים עכשיו MutableInteractionSource שניתן להגדיר כ-null, ומוגדר כ-null כברירת מחדל. אין כאן שינויים סמנטיים: העברת הערך null פירושה שאתם לא רוצים להעלות את MutableInteractionSource, והוא ייווצר בתוך הרכיב אם יהיה צורך בכך. שינוי ל-null מאפשר לרכיבים מסוימים לא להקצות MutableInteractionSource אף פעם, ולרכיבים אחרים ליצור מופע רק כשצריך, וכך לשפר את הביצועים של הרכיבים האלה. אם אתם לא משתמשים ב-MutableInteractionSource שמועבר לרכיבים האלה, מומלץ להעביר במקומו null. מומלץ גם לבצע שינויים דומים ברכיבים שלכם. ‫(I309b4, ‏ b/298048146)
  • הפרמטר TextAlign של רכיב הטקסט בטלוויזיה הוא עכשיו לא null (Ib73b1, ‏ b/299490814)
  • הוספנו ערך מיוחד של 'לא צוין' לשדות TextAlign, TextDirection, Hyphens ו-LineBreak של ParagraphTextStyle כדי להחליף את הערכים (I4197e, b/299490814)

שינויים בהתנהגות

  • ערך ברירת המחדל של הפרמטר shape עבור Surface לא אינטראקטיבי השתנה ל-RectangleShape (I1b859cb)
  • חלק מהתכונות של הקרוסלה הושמטו בהשקה של גרסת הבטא כי ממשקי ה-API הנדרשים הם ניסיוניים (I0e755d4)
  • השינוי של contentColor ב-Surface לא מונפש יותר בין מצבים (I436e794f)

גרסה 1.0.0

גרסה 1.0.0-alpha12

‫15 בינואר 2025

androidx.tv:tv-foundation:1.0.0-alpha12 משוחרר. גרסה 1.0.0-alpha12 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • ניקוי פריסות עצלות מ-tv-foundation. כדי להפסיק להשתמש בפריסות עצלות של tv-foundation, אפשר לעיין בהערות המוצר של גרסה 1.0.0-alpha11. (I2fdd3, ‏ b/358913893)

גרסה 1.0.0-alpha11

‫10 ביולי 2024

androidx.tv:tv-foundation:1.0.0-alpha11 משוחרר. גרסה 1.0.0-alpha11 מכילה את הקומטים האלה.

שינויים ב-API

  • הוצאנו משימוש את Tv Lazy Layouts מהספרייה tv-foundation. בכרטיס הזה מוסבר איך להעביר את הפריסות שלכם בטלוויזיה. ‫(I0855f, b/332674072)
  • PlatformImeOptions היא עכשיו מחלקה קונקרטית במקום ממשק. (If40a4)

גרסה 1.0.0-alpha10

‫4 באוקטובר 2023

הגרסאות androidx.tv:tv-foundation:1.0.0-alpha10 ו-androidx.tv:tv-material:1.0.0-alpha10 יוצאות לאור. גרסה 1.0.0-alpha10 מכילה את הקומיטים האלה.

תכונות חדשות

  • הוספנו את NavigationDrawerItem לשימוש ב-NavigationDrawer וב-ModalNavigationDrawer. (I4b491)
  • הוספת פרופיל בסיסי לספריית tv-foundation. (2b57fd7)
  • הוספת פרופיל בסיסי לספריית tv-material. (1711ff5)

שינויים ב-API

  • השם של NavigationDrawerScope.doesTabRowHaveFocus שונה ל-NavigationDrawerScope.hasFocus. (I8286b)
  • השם של TabRowScope.isActivated שונה ל-TabRowScope.hasFocus. (Ic4273)

תיקוני באגים

  • תיקון התאימות של קרוסלה עם פריטים סמוכים שמשתמשים בממשקי API של focus restorer. (7b2a7a4)
  • משביתים את ההדגשה של האפליקציה ברקע עבור API_LEVEL מתחת ל-28, כי היא לא נתמכת על ידי מערכת ההפעלה. (6d3616f)
  • תוקנה קריסת ANR שנגרמה כתוצאה ממיקום לא תקין של פריטים בקונטיינרים עצלים כשגוללים במהירות בכיוון הפוך. (642d65c)
  • הוסר ריווח פנימי ברקע במגירת הניווט של חלון העזר. (69965b2)
  • תיקון של Scrim בחלונית ההזזה לניווט כך שייצג מעל תוכן הרקע ולא מאחוריו. (d4bbefb)

גרסה 1.0.0-alpha09

‫6 בספטמבר 2023

הגרסאות androidx.tv:tv-foundation:1.0.0-alpha09 ו-androidx.tv:tv-material:1.0.0-alpha09 יוצאות לאור. גרסה 1.0.0-alpha09 מכילה את הקומיטים האלה.

שינויים ב-API

  • הוספנו ReusableComposition ממשק לניהול מחזור החיים של קומפוזיציות משנה ולשימוש חוזר בהן. (I812d1, ‏ b/252846775)
  • סנכרון של פיצול tv-foundation עם compose-foundation. (I737c3, ‏ b/287011882)
  • נוספה פונקציית עומס יתר של LazyLayout, היא מקבלת ביטוי למדא של LazyLayoutItemProvider, ולא אובייקט רגיל כמו שהיה קודם. העומס הקודם הוצא משימוש. (I42a5a)
  • מוסיפים את TvKeyboardAlignment כדי לאפשר למפתח להגדיר את המיקום של המקלדת הווירטואלית דרך AndroidImeOptions. (Idb772)
  • הוספת rememberCarouselState כדי לזכור את CarouselState באמצעות Saver ליצירת חומרים לטלוויזיה. (Id7275)
  • שינוי הפרמטר scrimColor: Color לפרמטר scrimBrush:Brush כדי לאפשר למשתמשים להוסיף מעברי צבע ל-scrim. (I254d4)

גרסה 1.0.0-alpha08

‫26 ביולי 2023

הגרסאות androidx.tv:tv-foundation:1.0.0-alpha08 ו-androidx.tv:tv-material:1.0.0-alpha08 יוצאות לאור. גרסה 1.0.0-alpha08 מכילה את הקומיטים האלה.

תכונות חדשות

  • הוספנו רכיבי צ'יפ ל-Compose for TV material. (I86da4)
  • מוסיפים רכיב ListItem ל-TV Compose Material. (I3f0b3)
  • מוסיפים רכיב DenseListItem ל-TV Compose Material. ‫(I536bf)

שינויים ב-API

  • סימנו ממשקי API של חומרים לטלוויזיה ציבורית כניסיוניים. (I632e7)
  • הוספנו את TabRowScope כדי לשתף מצב מ-TabRow שאפשר להרכיב עם Tab שאפשר להרכיב ושינינו את השם של מאפייני TabColors. (Ief587)

גרסה 1.0.0-alpha07

‫7 ביוני 2023

הגרסאות androidx.tv:tv-foundation:1.0.0-alpha07 ו-androidx.tv:tv-material:1.0.0-alpha07 יוצאות לאור. גרסה 1.0.0-alpha07 מכילה את הקומיטים האלה.

שינויים ב-API

  • האינדיקציות לגבי קנה המידה של הרכיבים כוללות עכשיו את האפשרות 'ללא' כדי להשבית את שינוי הגודל. (I50df5)
  • הוספנו תמיכה בלחיצה ארוכה עבור רכיבי Material Surface, כרטיסים ולחצנים בטלוויזיה. (Id2b89)
  • הוסרו CarouselItem וCarouselScope. אפשר ליצור אנימציה של תוכן בחזית בשקף באמצעות Modifier.animateEnterExit מ-AnimatedContentScope. (Ic038e)
  • הפרמטרים color ו-contentColor מוזגו לפרמטר colors עבור TV Material Surface. (Ie69eb)
  • הוספנו את RadioButton composable ב-TV Material. (I08690)
  • הוספנו את Switch composable ב-TV Material. (I45e29)
  • הוספנו את Checkbox composable ב-TV Material. (I6a45a)
  • הוספנו Surface ב-TV Material שלא ניתן ליצור איתו אינטראקציה. (Ic5f85)
  • הגדרת האינדיקציות כפנימיות. (Ibff82)

גרסה 1.0.0-alpha06

‫19 באפריל 2023

הגרסאות androidx.tv:tv-foundation:1.0.0-alpha06 ו-androidx.tv:tv-material:1.0.0-alpha06 יוצאות לאור. גרסה 1.0.0-alpha06 מכילה את הקומיטים האלה.

תכונות חדשות

  • הוספנו הטמעות של כרטיסים ב-Material 3 שעברו אופטימיזציה לטלוויזיה.
    • כרטיס בסיסי (I5b701)
    • ClassicCard, ‏ CompactCard ו-WideClassicCard (I70471)
    • StandardCardLayout ו-WideCardLayout (I33fae)
  • הוספת הטמעות של לחצני Material 3 שעברו אופטימיזציה לטלוויזיה.
    • כפתור בסיסי (I69c11)
    • IconButton ו-OutlinedIconButton (Ib504c)
    • WideButton (I4cecf)

שינויים ב-API

  • השמות של CarouselSlide ו-slideCount ב-Carousel שונו ל-CarouselItem ו-itemCount. (Ie554c)
  • השם של forward ושל backward ContentTransforms השתנה ל-StartToEnd ול-EndToStart. (Ie554c)

תיקוני באגים

  • טיפול בלחצן החזרה ב-DPAD כשהמיקוד הוא על NavigationDrawer. (d654f4)

גרסה 1.0.0-alpha05

‫22 במרץ 2023

הגרסאות androidx.tv:tv-foundation:1.0.0-alpha05 ו-androidx.tv:tv-material:1.0.0-alpha05 יוצאות לאור. גרסה 1.0.0-alpha05 מכילה את הקומיטים האלה.

שינויים ב-API

  • הוספת קומפוזיציה של חלונית הזזה לניווט בצד ל-tv-material. כדי ללמוד איך להשתמש ב-composable הזה, אפשר לעיין בדוגמאות. (I12c08)
  • הצגת רכיב Icon composable ב-TV Material 3 ‏ (I72db9)
  • הוספנו את Surface composable ל-tv-material עם אינדיקציות כמו Border, ‏ Glow ו-Scale, שאפשר להשתמש בהן כדי ליצור רכיבים שמדגישים בבירור את הרכיב הממוקד במסך הטלוויזיה. ‪(I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376)
  • צריך לעדכן את CarouselItem ל-CarouselSlide כדי להתאים לשם הפרמטר slideCount ב-API של 'קרוסלה' (Ic4299)

גרסה 1.0.0-alpha04

‫8 בפברואר 2023

הגרסאות androidx.tv:tv-foundation:1.0.0-alpha04 ו-androidx.tv:tv-material:1.0.0-alpha04 יוצאות לאור. גרסה 1.0.0-alpha04 מכילה את הקומיטים האלה.

תכונות חדשות

  • בשילוב של שורות, עמודות ורשתות עצלות, המרכז משתנה לפי הצורך כדי לוודא שכל הפריט מוצג. (11d7e40)
  • הוספת התאמה אישית של צבעי הכרטיסיות במצבים שונים. (21b2925)
  • מעכשיו אפשר להוסיף לקרוסלה אנימציות מותאמות אישית לגלילה ידנית קדימה ואחורה. (431494a)

שינויים ב-API

  • שינוי השם של androidx.tv.material ל-androidx.tv.material3 ושיטוח מבנה החבילה ב-androidx.tv.material3. (I6ca52)
  • האינדיקטור בשורה 'אינדיקטור של קרוסלה' הוא עכשיו משבצת שאפשר להתאים אישית על ידי המפתח. (268af2a)
  • השם של focusableItem שונה ל-immersiveListItem. המשתמשים יצטרכו להוסיף ידנית את התוסף focusable() או clickable() יחד עם immersiveListItem (5dd5078)(b/263061052)
  • השם של timeToDisplayMillis שונה ל-autoScrollDurationMillis ברכיב הקרוסלה. (431494a)
  • השימוש ב-CarouselItem מוגבל עכשיו ל-Carousel. (431494a)
  • עכשיו אפשר להשתמש ב-ContentTransforms כהגדרת האנימציה בקרוסלה במקום ב-EnterTransition וב-ExitTransitions. (431494a)
  • הוספנו את PinnableContainer API שמופץ על ידי רשימות עצלניות באמצעות קומפוזיציה מקומית, שמאפשרת להצמיד את הפריט הנוכחי. (Ib8881, ‏ b/259274257, ‏ b/195049010)
  • נוספה מאפיין mainAxisItemSpacing אל TvLazyListLayoutInfo וTvLazyGridLayoutInfo (I37765)

תיקוני באגים

  • מעדכנים את השורה של הכרטיסיות כדי לוודא שהיא מטפלת נכון במספר כרטיסיות של 0 או 1. ‫(I44009), (1c01525), (b/264018028)
  • תיקון קריסה של חיפוש המיקוד כש-TvLazyColumn מכיל TvLazyRow ריק. (e11b4fe), (b/260299091)
  • המשנה clickable פועל עכשיו עם ImmersiveList. (5dd5078), (b/263061052)
  • מקש 'הקודם' מטופל עכשיו ומשמש ליציאה מקרוסלת התכנים המומלצים. (84c138c)
  • הקרוסלה לא מאבדת את המיקוד בלחיצות מהירות מרובות על מקשים. (799489f)
  • הקרוסלה לא מאבדת את המיקוד בלחיצות ארוכות על מקשים. (b2cf37e)
  • תוקנו קריסות שקרו כשמספר השקפים בקרוסלה השתנה. (b261247)

גרסה 1.0.0-alpha03

‫7 בדצמבר 2022

הגרסאות androidx.tv:tv-foundation:1.0.0-alpha03 ו-androidx.tv:tv-material:1.0.0-alpha03 יוצאות לאור. גרסה 1.0.0-alpha03 מכילה את הקומיטים האלה.

תכונות חדשות

  • TabRow זמין עכשיו כ-API ניסיוני שמאפשר למשתמשים להוסיף סרגלי ניווט עליונים לאפליקציות שלהם. בדרך כלל, במכשירי טלוויזיה, הכרטיסיות נטענות כששם הכרטיסייה ממוקד בשורת הכרטיסיות.
  • אינדיקטורים ספציפיים לטלוויזיה, כמו אינדיקטור קו תחתון ואינדיקטור גלולה, מוצעים מחוץ לקופסה. דוגמאות לשימוש אפשר למצוא ב-tv-samples

גרסה 1.0.0-alpha02

9 בנובמבר 2022

הגרסאות androidx.tv:tv-foundation:1.0.0-alpha02 ו-androidx.tv:tv-material:1.0.0-alpha02 יוצאות לאור. גרסה 1.0.0-alpha02 מכילה את הקומיטים האלה.

תיקוני באגים

  • שיפור הביצועים של הגלילה כשגוללים באוסף של TvLazyRows/TvLazyColumns על ידי צמצום מרחב החיפוש של המיקוד.(I723a3)

גרסה 1.0.0-alpha01

5 באוקטובר 2022

הגרסאות androidx.tv:tv-foundation:1.0.0-alpha01 ו-androidx.tv:tv-material:1.0.0-alpha01 יוצאות לאור. גרסה 1.0.0-alpha01 מכילה את הקומיטים האלה.

תכונות חדשות

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

  • הוספת משנה scrollableWithPivot כדי לאפשר למאגרי גלילה לא עצלים כמו Row,‏ Column ו-Grid לגלול את התוכן כך שהפריט שבמוקד יישאר באותו מיקום במסך הטלוויזיה.
  • הוספת קומפוזיציות TvLazyRow,TvLazyColumn, TvLazyHorizontalGrid, TvLazyVerticalGrid כדי שהגלילה של מאגר התוכן תגרום לפריט שבמוקד להישאר באותו מיקום במסך הטלוויזיה.
  • הוספת קומפוזיציה של קרוסלת תוכן מומלץ לטלוויזיה שמאפשרת למשתמש ליצור קרוסלת באנרים עם גלילה אוטומטית.
  • הוספת רכיב Immersive List (רשימה מקיפה) שניתן להרכבה לטלוויזיה, שמאפשר למשתמש ליצור Immersive Row (שורה מקיפה), Immersive Column (עמודה מקיפה) או Immersive Grid (רשת מקיפה) שבהם הרקע משתנה בהתאם לפריט ברשימה שנמצא במוקד.

בעיות מוכרות

  • כשמיכל הגלילה מקבל מיקוד, הרכיב הראשון לא מקבל מיקוד כברירת מחדל.
  • התמקדות בTextField לא תמיד פותחת את המקלדת או יכולה למנוע את העברת ההתמקדות לשדות אחרים.
  • הגלילה האנכית ב-LazyColumn שמכיל LazyRows לא פועלת בצורה טובה.