از Jetpack Compose در Android TV استفاده کنید

Compose for TV رویکرد مدرن برای ساخت رابط کاربری Android TV است. Compose for TV تمام مزایای Jetpack Compose Android را برای برنامه‌های تلویزیونی شما باز می‌کند و ساخت رابط‌های کاربری زیبا و کاربردی برای برنامه شما را بسیار آسان‌تر می‌کند.

برخی از مزایای خاص استفاده از Compose برای تلویزیون شامل موارد زیر است:

  • انعطاف‌پذیری : از نوشتن می‌توان برای ایجاد هر نوع رابط کاربری، از طرح‌بندی‌های ساده تا انیمیشن‌های پیچیده استفاده کرد. کامپوننت‌ها خارج از جعبه کار می‌کنند، اما همچنین می‌توانند سفارشی شوند و مطابق با نیازهای برنامه شما طراحی شوند.
  • توسعه ساده و تسریع شده : Compose با کدهای موجود سازگار است و به توسعه دهندگان این امکان را می دهد تا برنامه ها را با کد کمتر با کارآمدتر بسازند.
  • شهودی : Compose از یک نحو اعلانی استفاده می کند که به شما امکان می دهد تغییراتی در رابط کاربری خود ایجاد کنید، اشکال زدایی کنید، کد خود را بفهمید و مرور کنید.

اگر با استفاده از جعبه ابزار Jetpack Compose آشنا نیستید، مسیر Compose را بررسی کنید. بسیاری از اصول توسعه برای Compose موبایل برای تلویزیون نیز اعمال می شود. برای کسب اطلاعات بیشتر در مورد مزایای کلی چارچوب UI اظهاری، به چرا نوشتن مراجعه کنید. برای کسب اطلاعات بیشتر، به مخزن نمونه‌های Compose for TV در GitHub نیز مراجعه کنید.

سازگاری

نوشتن برای تلویزیون در تلویزیون‌های Android با Android نسخه 5.0 (سطح API 21) یا بالاتر کار می‌کند. استفاده از نسخه 1.0 Compose برای تلویزیون به نسخه 1.3.0 کتابخانه‌های androidx.compose و Kotlin 1.7.10 نیاز دارد.

راه اندازی

استفاده از Jetpack Compose در Android TV مشابه استفاده از Jetpack Compose برای هر پروژه اندرویدی دیگر است. تفاوت اصلی این است که Compose for TV کتابخانه‌هایی را اضافه می‌کند که مؤلفه‌های بهینه‌شده برای تلویزیون را ارائه می‌دهند و ایجاد رابط‌های کاربری متناسب با تلویزیون را آسان‌تر می‌کنند. در برخی موارد، این مؤلفه‌ها با همتایان غیر تلویزیونی خود نامی مشابه دارند، مانند androidx.tv.material3.Button و androidx.compose.material3.Button .

وابستگی های جعبه ابزار Jetpack Compose

برای استفاده از Compose برای تلویزیون، وابستگی‌های جعبه ابزار Jetpack Compose را به شرح زیر در فایل build.gradle برنامه خود قرار دهید:

کاتلین

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

شیار

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

چه فرقی دارد

اجزای متریال تلویزیون برای اتاق نشیمن، با نشانگرهای فوکوس واضح و رفتار ورودی مناسب از راه دور طراحی شده اند. برای جزئیات در مورد نحوه استفاده از این اجزای خاص، راهنمای طراحی رابط کاربری تلویزیون را بررسی کنید.

شکل 1. اجزای نمونه از کتابخانه مواد تلویزیون.

تا جایی که ممکن است از نسخه تلویزیونی APIها استفاده کنید تا از این ویژگی ها بهره مند شوید.

در حالی که از نظر فنی امکان استفاده از نسخه موبایل Compose Material وجود دارد، اما برای سبک منحصر به فرد تعامل در Android TV بهینه نشده است. علاوه بر این، ترکیب Compose Material با Compose Material از Compose for TV می‌تواند منجر به رفتار غیرمنتظره شود. به عنوان مثال، از آنجایی که هر کتابخانه شی MaterialTheme مخصوص به خود را دارد، در صورت استفاده از هر دو نسخه، احتمال ناهماهنگی رنگ‌ها، تایپوگرافی یا اشکال وجود دارد.

جدول زیر تفاوت های وابستگی بین تلویزیون و موبایل را نشان می دهد:

وابستگی تلویزیون
(androidx.tv.*)
مقایسه وابستگی به موبایل
(androidx.compose.*)
androidx.tv:tv-material به جای androidx.compose.material3:material3

منابع اضافی

در ادامه مطلب

این راهنماها را کاوش کنید تا در مورد ایجاد تجربه‌های بهینه تلویزیونی عالی برای موارد زیر بیاموزید: