تلفزيون

  
تزود المطوّرين بوظيفتي التصميم Compose وMaterial من أجل كتابة تطبيقات للتلفزيون
التعديل الأخير الإصدار المستقر سحب المرشح الإصدار التجريبي إصدار أولي
21 آب (أغسطس) 2024 1.0.0 - - -

إعلان التبعيات

لإضافة التبعيات إلى المؤسسات التلفزيونية والمواد التلفزيونية، يجب إضافة مستودع Google Maven إلى مشروعك. الاطّلاع على مستودع Maven من Google لمزيد من المعلومات.

أضِف الملحقات التابعة للعناصر التي تحتاجها في ملف build.gradle لـ لتطبيقك أو الوحدة التي تستخدمها:

Groovy

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

لمزيد من المعلومات حول العناصر الاعتمادية، يُرجى الاطّلاع على إضافة تبعيات الإصدار.

ملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى إلقاء نظرة على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية عن طريق بالنقر فوق زر النجمة.

إنشاء عدد جديد

يُرجى الاطّلاع على مستندات أداة تتبُّع المشاكل. لمزيد من المعلومات.

ما مِن ملاحظات إصدار لهذا العنصر.

الإصدار 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 على عمليات التنفيذ هذه.

إصلاح الأخطاء

  • تم إصلاح صورة متحركة لنص Jittery في سطح قابل للإنشاء. (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 على عمليات التنفيذ هذه.

التغييرات في واجهة برمجة التطبيقات

  • ColorScheme ووظائف الأداة المساعدة مستقرة الآن. (If34fa)
  • أصبحت LocalContentColor ثابتة الآن (I60ee2)
  • واجهة برمجة التطبيقات Typography مستقرة الآن (I088d6)
  • أصبحت واجهات برمجة التطبيقات للأشكال ثابتة الآن (I0f5f4).
  • واجهة برمجة تطبيقات الحدود مستقرة الآن (I69281)
  • Glow API مستقرة الآن (Iea5f1).
  • مكوّن الرمز ثابت الآن (I62c2d)
  • واجهة برمجة تطبيقات LocalTextStyles مستقرة الآن (Iaded8)
  • واجهة برمجة تطبيقات MaterialTheme مستقرة الآن (I2f541)
  • مكوّن النص مستقر الآن (Ib9e31)
  • المكوِّن RadioButton مستقر الآن (Ia03c8)
  • أصبح مكوِّن مفتاح التبديل مستقرًا الآن (I6cea3).
  • مكوّنات Checkbox ثابتة الآن (I7eafc)
  • أصبحت مكوّنات السطح مستقرة الآن (I58758 وI04aca).
  • تمت إعادة تسمية "NonInteractiveSurfaceDefaults" إلى "SurfaceDefaults" و"NonInteractiveSurfaceColors" إلى "SurfaceColors" (I0812e)
  • تستخدم مساحة العرض القابلة للاختيار الآن مصطلحات "select" بدلاً من "check" بسبب اختلاف معنى دلالات كل منهما (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.ListItemElevation إلى ListItemDefaults.TonalElevation (Id6841). تم نقل المعلمة headlineContent إلى أعلى العنصر القابل للإنشاء. في وقت سابق، يمكنك الاستفادة من بناء جملة lambda اللاحقة في Kotlin لتمرير headlineContent. والآن، سيكون عليك الاستفادة من بنية المَعلمة المُسمّاة لتوفير headlineContent.
  • أصبحت حزمة "LocalAbsoluteTonalElevation" داخلية الآن (Ibfc65)
  • تمت إزالة المكوِّن ImmersiveList. اطّلِع على هذا النموذج لمعرفة كيفية إنشاء النموذج بنفسك. (معرّف 48da)
  • تم تعديل مكوّنات tv-material التي تعرض MutableInteractionSource في واجهة برمجة التطبيقات الخاصة بها ليتم الآن عرض عنصر MutableInteractionSource قابل للإلغاء ويتم ضبطه تلقائيًا على قيمة فارغة. ما مِن تغييرات دلالية هنا: يعني تمرير "خالٍ" أنّك لا تريد رفع "MutableInteractionSource"، وسيتم إنشاؤه داخل المكوِّن إذا لزم الأمر. يؤدي التغيير إلى القيمة "فارغ" إلى السماح لبعض المكوّنات بعدم تخصيص MutableInteractionSource مطلقًا، كما يسمح للمكوّنات الأخرى بإنشاء مثيل بطريقة كسولة عند الحاجة، ما يحسّن الأداء على مستوى هذه المكوّنات. إذا كنت لا تستخدم MutableInteractionSource التي تمرِّرها إلى هذه المكوّنات، ننصحك باستخدام قيمة null بدلاً من ذلك. يوصى أيضًا بإجراء تغييرات مماثلة في المكونات الخاصة بك. (I309b4، b/298048146)
  • أصبحت معلمة TextAlign لمكوِّن النص التلفزيوني الآن غير خالية (Ib73b1، b/299490814)
  • تم إدخال قيمة خاصة غير محدّدة للحقول TextAlign وTextDirection وHyphens وLineBreak في ParagraphTextStyle المطلوب استبدالها (I4197e وb/299490814)

التغييرات في السلوك

  • تم تغيير القيمة التلقائية للمَعلمة shape للغة Surface غير التفاعلية إلى RectangleShape (I1b859cb)
  • تم تجاهل بعض ميزات لوحة العرض الدوّارة عند الإطلاق التجريبي لأنّ واجهات برمجة التطبيقات اللازمة لا تزال في مرحلة تجريبية (I0e755d4)
  • لم يعُد تغيير contentColor في Surface يتحرّك بين الولايات (I436e794f).

الإصدار 1.0.0

الإصدار 1.0.0-alpha11

10 يوليو 2024

تم طرح androidx.tv:tv-foundation:1.0.0-alpha11. يحتوي الإصدار 1.0.0-alpha11 على عمليات التنفيذ هذه.

التغييرات في واجهة برمجة التطبيقات

  • تم إيقاف ميزة Tv Lazy Layouts نهائيًا من مكتبة المؤسسات التلفزيونية. يُرجى الرجوع إلى هذا الطلب للتعرّف على كيفية الانتقال من تنسيقات "العرض الكسول" على التلفزيون. (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)
  • إضافة الملف الشخصي الأساسي إلى مكتبة المؤسسات التلفزيونية. (2b57fd7)
  • إضافة الملف الشخصي الأساسي إلى مكتبة مواد التلفزيون. (1711ff5)

التغييرات في واجهة برمجة التطبيقات

  • تمت إعادة تسمية "NavigationDrawerScope.doesTabRowHaveFocus" إلى "NavigationDrawerScope.hasFocus". (I8286b)
  • تمت إعادة تسمية "TabRowScope.isActivated" إلى "TabRowScope.hasFocus". (Ic4273)

إصلاح الأخطاء

  • إصلاح توافق لوحة العرض الدوّارة مع العناصر المجاورة التي تستخدم واجهات برمجة التطبيقات لأداة استعادة التركيز. (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 على هذه عمليات التنفيذ.

التغييرات في واجهة برمجة التطبيقات

  • إضافة واجهة ReusableComposition لإدارة مراحل النشاط وإعادة استخدام التركيبات الفرعية. (I812d1، b/252846775)
  • مزامنة شوكة الأساس للتلفزيون مع طريقة الإنشاء. (I737c3، وb/287011882)
  • تمت إضافة حمولة زائدة لـ LazyLayout، وتقبل دالة lambda بقيمة LazyLayoutItemProvider، وهي لا تقبل كائنًا عاديًا كما كان في السابق. تم إيقاف التحميل الزائد السابق نهائيًا. (I42a5a)
  • يمكنك إضافة TvKeyboardAlignment للسماح للمطوّر بضبط موضع لوحة المفاتيح على الشاشة من خلال AndroidImeOptions. (Idb772)
  • أضِف "rememberCarouselState" لتذكُّر "CarouselState" مع "Saver" إلى مادة Compose في TV. (Id7275)
  • تغيير مَعلمة scrimColor: Color إلى مَعلمة scrimBrush:Brush للسماح للمستخدمين بإضافة تدرّجات إلى حاجب الشاشة (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 لمواد البرامج التلفزيونية (I86da4)
  • يمكنك إضافة المكوِّن ListItem إلى مادة Compose TV. (I3f0b3)
  • إضافة DenseListItemالمكوّن إلى محتوى TV Compose (I536bf)

التغييرات في واجهة برمجة التطبيقات

  • تم وضع علامة على واجهات برمجة التطبيقات العامة للمواد التلفزيونية على أنها "تجريبية". (I632e7)
  • تم تقديم TabRowScope لمشاركة الحالة من TabRow القابلة للإنشاء مع سمات 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 على هذه عمليات التنفيذ.

التغييرات في واجهة برمجة التطبيقات

  • تتضمن مؤشرات مقياس المكوّنات الآن القيمة "بدون" لإيقاف التحجيم. (I50df5)
  • تمت إضافة إمكانية النقر الطويل على سطح المواد والبطاقات والأزرار. (Id2b89)
  • تمّت إزالة كلّ من CarouselItem وCarouselScope. يمكن إنشاء صورة متحركة للمحتوى الذي يظهر في المقدّمة في الشريحة باستخدام Modifier.animateEnterExit من AnimatedContentScope. (Ic038e)
  • تم دمج المَعلمتَين color وcontentColor باعتبارهما colors لسطح مواد التلفزيون. (Ie69eb)
  • تم إدخال مادة RadioButton القابلة للإنشاء في مواد التلفزيون. (I08690)
  • تم إدخال مادة Switch القابلة للإنشاء في مواد التلفزيون. (I45e29)
  • تم إدخال مادة Checkbox القابلة للإنشاء في مواد التلفزيون. (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 المُحسَّنة للتلفزيون.

التغييرات في واجهة برمجة التطبيقات

  • تمت إعادة تسمية "CarouselSlide" و"slideCount" في Carousel إلى CarouselItem وitemCount. (Ie554c)
  • تمت إعادة تسمية forward وbackward ContentTransforms إلى StartToEnd وEndToStart. (Ie554c)

إصلاح الأخطاء

  • التعامل مع زر "أزرار الاتجاهات" مرة أخرى عند التركيز على "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 على هذه عمليات التنفيذ.

التغييرات في واجهة برمجة التطبيقات

  • نقدّم لك درج التنقّل الجانبي القابل للإنشاء في tv-material. للاطّلاع على كيفية استخدام هذا العنصر القابل للإنشاء، يُرجى الرجوع إلى النماذج. (I12c08)
  • تقديم رمز قابل للإنشاء في TV Material 3 (I72db9)
  • نقدّم لك "سطح" قابل للإنشاء إلى "tv-material" مع مؤشرات، مثل "الحدود" و"اللمعان" و"القياس"، والتي يمكن استخدامها لإنشاء مكوّنات تُبرز بوضوح العنصر الذي يتم التركيز عليه على شاشة التلفزيون. (I4a6d8)، (Iceea1)، (Iee4d4)، (I79edf)، (Icb376)
  • عدِّل CarouselItem إلى CarouselSlide لمطابقة اسم مَعلمة slideCount في لوحة العرض الدوّارة. واجهة برمجة التطبيقات (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)

التغييرات في واجهة برمجة التطبيقات

  • جارٍ إعادة تسمية 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 التي تم نشرها بواسطة القوائم الكسولة عبر مقطوعة موسيقية محلية تسمح بتثبيت العنصر الحالي. (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 الآن كواجهة برمجة تطبيقات تجريبية تسمح للمستخدمين بإضافة أشرطة التنقّل العلوية إلى تطبيقاتهم. بشكل عام، تتوقع أجهزة التلفزيون أن يتم تحميل علامات التبويب عند التركيز على عنوان علامة التبويب في صف علامة التبويب.
  • تظهر مؤشرات خاصة بالتلفزيون، مثل مؤشر التسطير ومؤشر حبوب منع الحمل الطارئ. يمكن العثور على أمثلة للاستخدامات في عيّنات التلفزيون.

الإصدار 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 للسماح لحاويات التمرير غير الكسول، مثل الصف والعمود والشبكة، بأن تعمل حاوية التمرير على تمرير المحتوى حتى يظل العنصر محل التركيز في الموضع نفسه على شاشة التلفزيون
  • إضافة عناصر قابلة للإنشاء TvLazyRow وTvLazyColumn وTvLazyHorizontalGrid وTvLazyVerticalGrid لجعل حاوية التمرير تعمل على تمرير المحتوى بحيث يظل العنصر الذي يركز عليه التركيز في الموضع نفسه على شاشة التلفزيون
  • إضافة لوحة عرض دوّارة مميزة قابلة للإنشاء للتلفزيون تتيح للمستخدم إنشاء لوحة عرض دوّارة بانر يتم عرضها تلقائيًا
  • إضافة "قائمة مجسمة" قابلة للإنشاء للتلفزيون تسمح للمستخدم بإنشاء صف/عمود/شبكة غامرة لتغيير الخلفية بناءً على عنصر القائمة موضوع التركيز

المشاكل المعروفة

  • عند تمرير الحاوية إلى التركيز، لا يكتسب العنصر الأول التركيز تلقائيًا.
  • التركيز على TextField لا يؤدي دائمًا إلى فتح لوحة المفاتيح أو قد يمنع التركيز من الانتقال إلى حقول أخرى.
  • أداء التمرير عموديًا في LazyColumn يحتوي على LazyRows ضعيف.