تلفزيون

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

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

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

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

رائع

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

Kotlin

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

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

ملاحظات

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

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

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

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

الإصدار 1.0 من مواد التلفزيون

الإصدار 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 ضعيف.