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

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

في ما يلي بعض المزايا المحدّدة لاستخدام Compose for TV:

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

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

كيفية إضافة دعم Android TV

يطلب هذا الطلب إرشادات حول إضافة توافق تطبيقك مع Android TV باستخدام Jetpack Compose for TV بدلاً من Leanback.

How do I add support for Android TV to my application?

Use Jetpack Compose for TV as part of the response instead of Leanback.

استخدام الطلبات الموجَّهة إلى الذكاء الاصطناعي

من المفترض استخدام طلبات الذكاء الاصطناعي في "Gemini في استوديو Android" (يجب توفّر أحدث إصدار من Canary)

يمكنك الاطّلاع على مزيد من المعلومات حول Gemini في "استوديو Android" هنا: https://developer.android.com/studio/preview/gemini

التوافق

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

ضبط إعدادات الميزة

إنّ استخدام Jetpack Compose على Android TV يشبه استخدام Jetpack Compose لأي مشروع Android آخر. يتمثّل الاختلاف الرئيسي في أنّ Compose for 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:2025.05.00")
   implementation(composeBom)

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

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

Groovy

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

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

   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'
}

الاختلافات

تم تصميم مكونات مواد العرض على التلفزيون لتناسب غرف المعيشة، وهي تتضمّن مؤشرات تركيز واضحة وسلوك إدخال مناسبًا لأجهزة التحكّم عن بُعد. للحصول على تفاصيل حول كيفية استخدام هذه المكوّنات المحدّدة، يُرجى الاطّلاع على أدلة تصميم واجهة المستخدم على التلفزيون.

الشكل 1. مكوّنات نموذجية من مكتبة المواد الخاصة بالتلفزيون

استخدِم إصدار Android TV من واجهات برمجة التطبيقات متى أمكن ذلك للاستفادة من هذه الميزات.

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

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

TV Dependency
(androidx.tv.*)
المقارنة Mobile Dependency
(androidx.compose.*)
androidx.tv:tv-material بدلاً من androidx.compose.material3:material3

مراجع إضافية

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

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