إنّ ميزة "الكتابة للتلفزيون" هي الطريقة التي ننصح بها لإنشاء واجهات مستخدم على Android TV. يتيح لك هذا الإصدار الاستفادة من كل مزايا Jetpack Compose ضِمن تطبيقات Android، ما يسهّل عملية إنشاء واجهات مستخدم جميلة وعملية لتطبيقك. في ما يلي بعض المزايا المحددة لاستخدام ميزة "الكتابة على التلفزيون":
- المرونة: يمكن استخدام الكتابة لإنشاء أي نوع من واجهات المستخدم، بدءًا من التخطيطات البسيطة ووصولاً إلى الرسوم المتحركة المعقدة. تعمل المكونات بشكل رائع ولكن يمكن أيضًا تخصيصها وتصميمها لتناسب احتياجات تطبيقك.
- التطوير المبسّط والمسرَّع: يتوافق Compose مع التعليمات البرمجية الحالية ويتيح للمطوّرين إنشاء التطبيقات بكفاءة أكبر باستخدام رموز برمجية أقل.
- سهلة الاستخدام: تستخدم ميزة Compose بنية تعريفية تتيح لك إجراء تغييرات على واجهة المستخدم وتصحيح الأخطاء وفهم الرموز البرمجية ومراجعتها.
إذا لم تكن معتادًا على استخدام مجموعة أدوات Jetpack Compose، يمكنك الاطّلاع على مسار Compose. تنطبق العديد من مبادئ تطوير ComposeAllowed على الأجهزة الجوّالة على التلفزيون أيضًا. يمكنك الاطّلاع على أهمية ميزة Compose للحصول على مزيد من المعلومات حول المزايا العامة لإطار عمل بيان واجهة المستخدم. لمزيد من المعلومات، يمكنك الاطّلاع أيضًا على مستودع نماذج إنشاء البرامج التلفزيونية على GitHub.
التوافق
تعمل ميزة "الكتابة للتلفزيون" على أجهزة Android TV من المستوى 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
لاستخدام ميزة ComposeAllowed على التلفزيون، يجب تضمين العناصر التابعة لمجموعة أدوات Jetpack Compose في ملف build.gradle
الخاص بتطبيقك على النحو التالي:
Kotlin
dependencies { val composeBom = platform("androidx.compose:compose-bom:2024.04.01") implementation(composeBom) // General compose dependencies implementation("androidx.activity:activity-compose:1.8.2") implementation("androidx.compose.ui:ui-tooling-preview") debugImplementation("androidx.compose.ui:ui-tooling") // Compose for TV dependencies val tvCompose = "1.0.0-alpha10" implementation("androidx.tv:tv-foundation:$tvCompose") implementation("androidx.tv:tv-material:$tvCompose") }
رائع
dependencies { def composeBom = platform('androidx.compose:compose-bom:2024.04.01') implementation composeBom // General compose dependencies implementation 'androidx.activity:activity-compose:1.8.2' implementation 'androidx.compose.ui:ui-tooling-preview' debugImplementation 'androidx.compose.ui:ui-tooling' // Compose for TV dependencies def tvCompose = '1.0.0-alpha10' implementation 'androidx.tv:tv-foundation:$tvCompose' implementation 'androidx.tv:tv-material:$tvCompose' }
أوجه الاختلاف
استخدام إصدار التلفزيون من واجهات برمجة التطبيقات كلّما أمكن ذلك
على الرغم من إمكانية استخدام إصدار الجوّال من Compose Material من الناحية الفنية،
إلا أنّه لم يتم تحسينها لأسلوب التفاعلات الفريد على Android TV. وبالإضافة إلى ذلك، يمكن أن يؤدي مزج Compose Material مع Compose Material من Compose for TV
إلى حدوث سلوك غير متوقع. على سبيل المثال، بما أنّ كل مكتبة تحتوي على عنصر MaterialTheme
الخاص بها، قد تكون الألوان أو أسلوب الخط أو الأشكال
غير متسقة في حال استخدام كلتا النسختين.
يوضح الجدول التالي اختلافات التبعية بين التلفزيون والهاتف المحمول:
الاعتمادية على التلفزيون (androidx.tv.*) |
المقارنة | اعتمادية على الأجهزة الجوّالة (androidx.compose.*) |
androidx.tv:tv-material | بدلاً من | androidx.compose.material3:material3 |
androidx.tv:tv-foundation | بالإضافة إلى | androidx.compose.foundation:foundation |
محتوى إضافي للقراءة
اطّلِع على هذه الأدلة لمعرفة كيفية إنشاء تجارب رائعة محسَّنة لتحسين التلفزيون من أجل: