استخدام Jetpack Compose على Android TV

استخدام ميزة Compose for TV هو الأسلوب الحديث لإنشاء Android TV وواجهات المستخدم. تتيح لك ميزة Compose for TV الاستفادة من جميع مزايا Jetpack Compose على أجهزة Android لكل تطبيقات التلفزيون، ما يجعل إنشاء واجهات مستخدم جميلة وعملية لتطبيقك كثيرًا.

تشمل بعض المزايا المحدّدة لاستخدام ميزة "إنشاء رسالة" على التلفزيون ما يلي:

  • المرونة: يمكن استخدام ميزة الإنشاء لإنشاء أي نوع من واجهات المستخدم بدءًا من وتخطيطات إلى الرسوم المتحركة المعقدة. تعمل المكونات بشكل فوري ولكن يمكنها أيضًا وتخصيصها وتصميمها لتناسب احتياجات تطبيقك.
  • المبسّطة التطوير المسرّع: تتوافق ميزة Compose مع القائمة على الرموز البرمجية الحالية وتتيح للمطوّرين إنشاء التطبيقات بكفاءة أكبر باستخدام تعليمات برمجية أقل.
  • سهلة: تستخدم عملية الإنشاء بنية تعريفية تتيح لك إنشاء التغييرات على واجهة المستخدم، وتصحيح الأخطاء، وفهم، ومراجعة التعليمات البرمجية.

إذا لم تكن معتادًا على استخدام مجموعة أدوات Jetpack Compose، يمكنك الاطّلاع على إنشاء مسار: نتائج عديدة من مبادئ تطوير ميزة "الكتابة على الأجهزة الجوّالة" على التلفزيون أيضًا. عرض السبب إنشاء المزيد معلومات حول المزايا العامة لإطار العمل التعريفي لواجهة المستخدم. للتعلّم المزيد، راجع أيضًا إنشاء مستودع لنماذج البرامج التلفزيونية على GitHub

التوافق

تعمل ميزة Compose for TV على أجهزة Android TV التي تعمل بالإصدار 5.0 من نظام التشغيل Android (المستوى 21 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث. عند استخدام الإصدار 1.0 من "إنشاء" للتلفزيون، يجب توفُّر الإصدار 1.3.0 من مكتبات androidx.compose وKotlin 1.7.10.

ضبط إعدادات الجهاز

إنّ استخدام Jetpack Compose على Android TV يشبه استخدام Jetpack Compose لأي مشروع Android آخر. ويكمن الاختلاف الرئيسي في أنّ ميزة Compose لـ TV إضافة مكتبات تقدّم مكونات محسّنة للتلفزيون وتسهّل إنشاء المحتوى واجهات مستخدم مصممة خصيصًا للتلفزيون. في بعض الحالات تشترك هذه المكونات في نفس اسم نظيراتها غير التلفزيونية، مثل androidx.tv.material3.Button أو androidx.compose.material3.Button

اعتماديات مجموعة أدوات Jetpack Compose

لاستخدام Compose for TV، يجب تضمين مجموعة أدوات Jetpack Compose الاعتمادية في ملف build.gradle لتطبيقك على النحو التالي:

Kotlin

dependencies {
   val composeBom = platform("androidx.compose:compose-bom:2024.06.00")
   implementation(composeBom)

   // General compose dependencies.
   implementation("androidx.activity:activity-compose:1.9.0")

   implementation("androidx.compose.ui:ui-tooling-preview")
   debugImplementation("androidx.compose.ui:ui-tooling")

   // Compose for TV dependencies.
   implementation("androidx.tv:tv-material:1.0.0-rc01")
}

Groovy

dependencies {
   def composeBom = platform('androidx.compose:compose-bom:2024.06.00')
   implementation composeBom

   // General compose dependencies.
   implementation 'androidx.activity:activity-compose:1.9.0'

   implementation 'androidx.compose.ui:ui-tooling-preview'
   debugImplementation 'androidx.compose.ui:ui-tooling'

   // Compose for TV dependencies.
   implementation 'androidx.tv:tv-material:1.0.0-rc01'
}

الميزات المختلفة

استخدِم إصدار التلفزيون من واجهات برمجة التطبيقات كلما أمكن ذلك. في حين أنه من الممكن من الناحية الفنية استخدام إصدار الأجهزة الجوالة من Compose Material، أو لم يتم تحسينها لملاءمة النمط الفريد للتفاعلات على Android TV. ضِمن بالإضافة إلى ذلك، مزجت Compose Material مع Compose Material من يمكن أن تؤدي ميزة "إنشاء محتوى للتلفزيون" إلى سلوك غير متوقَّع. على سبيل المثال: ونظرًا لاحتواء كل مكتبة على كائن MaterialTheme خاص بها، يمكن أن الألوان أو أسلوب الخط أو الأشكال غير المتسقة إذا تم استخدام كلا الإصدارين.

يوضح الجدول التالي الاختلافات التبعية بين التلفزيون الجوّال:

الاعتماد على التلفزيون
(androidx.tv.*)
المقارنة الاعتماد على الأجهزة الجوّالة
(androidx.compose.*)
androidx.tv:tv-material بدلاً من androidx.compose.material3:material3

مصادر إضافية

محتوى إضافي للقراءة

يمكنك الاطّلاع على هذه الأدلّة لمعرفة كيفية إنشاء تجارب رائعة محسَّنة للتلفزيون: