טלוויזיה

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

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

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

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

מגניב

dependencies {
    implementation "androidx.tv:tv-foundation:1.0.0-alpha11"
    implementation "androidx.tv:tv-material:1.0.0"
}

Kotlin

dependencies {
    implementation("androidx.tv:tv-foundation:1.0.0-alpha11")
    implementation("androidx.tv:tv-material:1.0.0")
}

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

משוב

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

דיווח על בעיה חדשה

מידע נוסף זמין במסמכי התיעוד של Issue Tracker.

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

גרסה 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 וב-onEnter, באמצעות היקף מקלט במקום הפרמטר FocusDirection. (I6e667)

תיקוני באגים

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

Tv-Material גרסה 1.0

גרסה 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)
  • ממשק ה-API של Typography יציב עכשיו (I088d6)
  • ממשקי ה-API של Shapes עכשיו יציבים (I0f5f4)
  • Border API יציב עכשיו (I69281)
  • Glow API יציב עכשיו (Iea5f1)
  • רכיב הסמל יציב עכשיו (I62c2d)
  • ממשק ה-API של LocalTextStyles יציב עכשיו (Iaded8)
  • ממשק ה-API של MaterialTheme יציב עכשיו (I2f541)
  • רכיב הטקסט יציב עכשיו (Ib9e31)
  • הרכיב RadioButton יציב עכשיו (Ia03c8)
  • רכיב המתג יציב עכשיו (I6cea3)
  • הרכיבים של Checkbox עכשיו יציבים (I7eafc)
  • רכיבי הפלטפורמה עכשיו יציבים (I58758, ‏ I04aca)
  • השם של NonInteractiveSurfaceDefaults השתנה ל-SurfaceDefaults והשם של NonInteractiveSurfaceColors השתנה ל-SurfaceColors (I0812e)
  • בממשק 'שטח לבחירה' נעשה עכשיו שימוש במונח 'בחירה' במקום 'בדיקה', כי לשני המונחים יש משמעות סמנטית שונה (I5a206)
  • NavigationDrawer ו-NavigationDrawerScope יציבות עכשיו (I249c1)
  • הרכיב NavigationDrawerItem יציב עכשיו (Id6986)
  • הרכיבים Tab ו-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.ListItemElevationListItemDefaults.TonalElevation (Id6841). הפרמטר headlineContent הועבר לחלק העליון של הרכיב הניתן לקיבוץ. קודם, אפשר היה להשתמש בתחביר הלוגריתם המחובר של Kotlin כדי להעביר את 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)
  • הוספנו ערך Unspecified מיוחד לשדות 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

  • ניקוי פריסות מושכות (lazy) מ-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-foundation הפסיקה לתמוך בפריטי פריסה בטלוויזיה עם טעינת נתונים באיטרציה הראשונה. בכרטיס הזה מוסבר איך עוברים מתצוגות ה-TV עם פריסת Lazy. (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 לשחזור המיקוד. (7b2a7a4)
  • משביתים את ההודעה על התראה מפני סכנה בגרסאות API_LEVEL מתחת ל-28, כי מערכת ההפעלה לא תומכת בה. (6d3616f)
  • תיקון קריסה מסוג ANR שנגרמה כתוצאה ממיקום לא תקין של פריטים בקונטיינרים עצלים בזמן גלילה מהירה בכיוון ההפוך. (642d65c)
  • הסרתם את הרקע בחלונית הניווט בחלון העזר. (69965b2)
  • תיקון של שכבת האימפרסיביות בחלונית ההזזה לניווט, כך שהיא תופיע מעל תוכן הרקע במקום מאחוריו. (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, הוא מקבל פונקציית lambda של 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. (I86da4)
  • מוסיפים את הרכיב ListItem ל-TV Compose Material. (I3f0b3)
  • מוסיפים את הרכיב DenseListItem לחומר ה-TV Compose. (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 מכילה את ההצהרות האלה על ביצוע שינויים (commits).

שינויים ב-API

  • ההגדרות של שינוי התצוגה של רכיבים כוללות עכשיו את האפשרות 'ללא' כדי להשבית את שינוי התצוגה. (I50df5)
  • הוספנו תמיכה בלחיצה ארוכה על משטח, כרטיסים ולחצנים של Material TV. (Id2b89)
  • CarouselItem ו-CarouselScope הוסרו. כדי ליצור אנימציה של תוכן בחזית השקף, משתמשים ב-Modifier.animateEnterExit מ-AnimatedContentScope. (Ic038e)
  • משולבים הפרמטרים color ו-contentColor כ-colors עבור TV Material Surface. (Ie69eb)
  • הוספנו את האפשרות להשתמש ב-RadioButton ב-Material TV. (I08690)
  • הוספנו את האפשרות להשתמש ב-Switch ב-Material TV. (I45e29)
  • הוספנו את האפשרות להשתמש ב-Checkbox ב-Material TV. (I6a45a)
  • הוספנו משטח שלא ניתן לקיים איתו אינטראקציה בתוכן לטלוויזיה. (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. במאמר טעימות מוסבר איך משתמשים ברכיב ה-Composeable הזה. (I12c08)
  • הצגת סמל שאפשר להרכיב ב-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)
  • הוספנו את ה-API של PinnableContainer שמופץ על ידי רשימות עצלניות דרך רכיב מקומי שמאפשר להצמיד את הפריט הנוכחי. (Ib8881, ‏ b/259274257, ‏ b/195049010)
  • הנכס mainAxisItemSpacing נוסף ל-TvLazyListLayoutInfo ול-TvLazyGridLayoutInfo (I37765)

תיקוני באגים

  • מעדכנים את tab-row כדי לוודא שהוא מטפל נכון ב-tab-count של 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 (מרקע), לגלול את התוכן כך שהפריט שבמוקף יישאר באותה מיקום במסך הטלוויזיה.
  • הוספת רכיבי Composeables‏ TvLazyRow,‏ TvLazyColumn,‏ TvLazyHorizontalGrid,‏ TvLazyVerticalGrid כדי לגרום לתוכן לגלול בתוך מאגר הפריטים הנגללים, כך שהפריט שבמוקף יישאר באותה מיקום במסך הטלוויזיה.
  • הוספת קרוסלה של מודעות מומלצות לטלוויזיה שמאפשרת למשתמש ליצור קרוסלה של מודעות באנר שגוללת אוטומטית.
  • הוספת רשימה תלת-ממדית שניתנת להתאמה לטלוויזיה, שמאפשרת למשתמש ליצור שורה/עמודה/מרקע תלת-ממדי שמשתנה בהתאם לפריט הרשימה שבמרכז.

בעיות מוכרות

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