تلفزيون
androidx.tv.foundation
androidx.tv.foundation.lazy.grid
androidx.tv.foundation.lazy.list
androidx.tv.foundation3
التعديل الأخير | الإصدار المستقر | إصدار مرشح | الإصدار التجريبي | إصدار ألفا |
---|---|---|---|---|
1 أيار (مايو) 2024 | - | - | الإصدار التجريبي 1.0.0-01 | - |
إعلان التبعيات
لإضافة تبعيات إلى أساس التلفزيون ومواد التلفزيون، يجب إضافة مستودع Google Maven إلى مشروعك. لمزيد من المعلومات، يمكنك الاطّلاع على مستودع Maven من Google.
أضف التبعيات للعناصر التي تحتاجها في ملف build.gradle
لتطبيقك أو الوحدة الخاصة بك:
رائع
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-alpha10" implementation "androidx.tv:tv-material:1.0.0-beta01" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha10") implementation("androidx.tv:tv-material:1.0.0-beta01") }
لمزيد من المعلومات حول التبعيات، انظر إضافة تبعيات الإصدار.
ملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إخبارنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية من خلال النقر على زر النجمة.
راجِع مستندات أداة تتبُّع المشاكل للحصول على مزيد من المعلومات.
ما مِن ملاحظات إصدار لهذا العنصر.
الإصدار 1.0 من مواد التلفزيون
الإصدار 1.0.0-beta01
1 أيار (مايو) 2024
تم طرح "androidx.tv:tv-material:1.0.0-beta01
". يحتوي الإصدار 1.0.0-beta01 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
ColorScheme
ووظائف المرافق الخاصة به مستقرة الآن. (If34fa)LocalContentColor
ثابتة الآن (I60ee2)Typography
API ثابتة الآن (I088d6)- أصبحت واجهات برمجة تطبيقات الأشكال مستقرة الآن (I0f5f4)
- واجهة برمجة تطبيقات الحدود مستقرة الآن (I69281)
- أصبحت Glow API مستقرة الآن (Iea5f1).
- مكوّن الرمز ثابت الآن (I62c2d)
LocalTextStyles
API مستقرة الآن (Iaded8)MaterialTheme
API ثابتة الآن (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
. اطّلع على هذه العيّنة لمعرفة كيفية إنشائها بنفسك. (Id48da) - تم تعديل مكوّنات مادة التلفزيون التي تعرض
MutableInteractionSource
في واجهة برمجة التطبيقات لعرض قيمةMutableInteractionSource
قابلة للقيم التلقائية والتي يتم ضبطها تلقائيًا على القيمة "فارغ". ما مِن تغييرات دلالية هنا: يعني ضبط القيمة "فارغ" أنك لا تريد رفعMutableInteractionSource
، وسيتم إنشاؤه داخل المكوِّن إذا لزم الأمر. يؤدي التغيير إلى قيمة "فارغ" إلى السماح لبعض المكونات بعدم تخصيصMutableInteractionSource
مطلقًا، والسماح للمكوّنات الأخرى بإنشاء مثيل بشكل كسول فقط عند الحاجة، ما يحسّن الأداء على مستوى هذه المكوّنات. إذا كنت لا تستخدمMutableInteractionSource
الذي تمرّره إلى هذه المكوّنات، نقترح إدخال قيمة فارغة بدلاً من ذلك. يوصى أيضًا بإجراء تغييرات مماثلة في المكونات الخاصة بك. (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-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)
- إصلاح 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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- إضافة واجهة
ReusableComposition
لإدارة دورة الحياة وإعادة استخدام التركيبات الفرعية. (I812d1، b/252846775) - مزامنة شوكة التأسيس التلفزيوني مع إنشاء المحتوى. (I737c3، b/287011882)
- تمت إضافة حِمل السمة
LazyLayout
، وتقبل دالة lambdaLazyLayoutItemProvider
، وهي ليست كائنًا عاديًا كما كانت في السابق. تم إيقاف التحميل الزائد السابق. (I42a5a) - أضِف
TvKeyboardAlignment
للسماح للمطوِّر بضبط موضع لوحة المفاتيح على الشاشة من خلالAndroidImeOptions
. (Idb772) - أضِف
rememberCarouselState
لتذكُّرCarouselState
معSaver
إلى "مواد الكتابة على التلفزيون". (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 على هذه الالتزامات.
الميزات الجديدة
- قدِّم مكوّنات "الشريحة" في ميزة ComposeAllowed لمواد التلفزيون. (I86da4)
- إضافة المكون
ListItem
إلى مادة الكتابة على التلفزيون (I3f0b3) - إضافة مكوّن
DenseListItem
إلى مادة "الكتابة على التلفزيون" (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 المحسَّنة للتلفزيون
- إضافة عمليات تنفيذ أزرار 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) - تقديم رمز قابل للإنشاء في مادة التلفزيون 3 (I72db9)
- نعرّفك على Surface القابل للإنشاء والمتوفّرة لـ "
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
إلى ضعف الأداء.