شروع به کار با UI مبتنی بر نوشتن، شروع با رابط کاربری مبتنی بر نوشتن

وابستگی را اضافه کنید

کتابخانه Media3 شامل دو ماژول رابط کاربری مبتنی بر Jetpack Compose است. لازم نیست هر دوی آنها را اضافه کنید زیرا Material3 به هسته اصلی وابسته است.

کاتلین

// Include only one of the following dependencies
implementation("androidx.media3:media3-ui-compose:1.10.1")
implementation("androidx.media3:media3-ui-compose-material3:1.10.1")

گرووی

// Include only one of the following dependencies
implementation "androidx.media3:media3-ui-compose:1.10.1"
implementation "androidx.media3:media3-ui-compose-material3:1.10.1"

ما اکیداً شما را تشویق می‌کنیم که برنامه خود را به روش Compose-first توسعه دهید یا از استفاده از Views مهاجرت کنید .

برنامه آزمایشی کاملاً آهنگسازی

اگرچه کتابخانه media3-ui-compose شامل کامپوننت‌های آماده (مانند دکمه‌ها، نشانگرها، تصاویر یا دیالوگ‌ها) نمی‌شود، اما می‌توانید یک برنامه آزمایشی (دمو) پیدا کنید که کاملاً با Compose نوشته شده باشد و از هرگونه راه‌حل قابلیت همکاری مانند قرار دادن PlayerView در AndroidView اجتناب کند. برنامه آزمایشی از کلاس‌های نگهدارنده وضعیت UI از ماژول media3-ui-compose و کتابخانه Compose Material3 استفاده می‌کند.

به کدام کتابخانه نیاز دارم؟

بسته به سطح سفارشی‌سازی مورد نیاز، می‌توانید از بین دو کتابخانه Media3 Compose یکی را انتخاب کنید. برای درک تفاوت، فکر کردن به خط تولید وضعیت رابط کاربری مفید است: Business logic → UI logic → UI .

برای کنترل کامل بر اجزای رابط کاربری خود، media3-ui-compose استفاده کنید.

این کتابخانه ارتباط Business logic → UI logic را فراهم می‌کند. این کتابخانه شامل اجزای اساسی مانند PlayerSurface و ContentFrame به همراه کلاس‌های نگهدارنده حالت (مانند PlayPauseButtonState ، CurrentMediaItemState ، PlaylistState ، ErrorState ) است که حالت Player را به حالت رابط کاربری تبدیل می‌کنند.

این کتابخانه کامپوننت‌های آماده‌ی طراحی متریال را ارائه نمی‌دهد . شما مسئول ساخت کامپوننت‌های رابط کاربری و استایل‌دهی به آنها هستید. این کتابخانه حداکثر کنترل را بر ظاهر و حس کاربری به شما می‌دهد و اگر سیستم طراحی بسیار سفارشی دارید، آن را ایده‌آل می‌کند.

برای ادغام سریع‌تر با طراحی متریال، media3-ui-compose-material3 استفاده کنید.

این کتابخانه بخش نهایی UI از خط تولید (pipeline) را ارائه می‌دهد. این کتابخانه به media3-ui-compose وابسته است و شامل توابع قابل ترکیب از پیش ساخته شده‌ای است که با کامپوننت‌های Material3 ، از جمله کامپوننت‌های Player و MiniController ، استایل‌بندی شده‌اند. کامپوننت Player یک تجربه پخش رسانه جامع با ویدیو، کنترل‌ها و نوار پیشرفت ارائه می‌دهد که می‌توانید با استفاده از PlayerDefaults آن را سفارشی‌سازی کنید. کامپوننت MiniController یک قابلیت فشرده برای کنترل پخش کننده در حین نمایش اطلاعات مربوط به آیتم رسانه فعلی فراهم می‌کند. این کتابخانه نیاز شما را برای ساخت دکمه‌ها و سایر عناصر رابط کاربری از ابتدا از بین می‌برد. شما هنوز هم می‌توانید تم، رنگ‌ها و آیکون‌های این کامپوننت‌ها را سفارشی کنید، اما پیاده‌سازی اصلی برای شما فراهم شده است.

در یک نگاه

ویژگی media3-ui-compose media3-ui-compose-material3
اجزای رابط کاربری عناصر اساسی مانند PlayerSurface و ContentFrame ، اما هیچ دکمه یا کنترل از پیش استایل‌بندی‌شده‌ای وجود ندارد . کامپوننت‌های Player و MiniController و مجموعه‌ای کامل از کامپوننت‌های از پیش ساخته شده با استایل Material3 مانند PlayPauseButton ، SeekBackButton ، PositionAndDurationText ، ErrorText و غیره را ارائه می‌دهد.
مدیریت دولتی برای مدیریت منطق، نگهدارنده‌های remember...State holders) را فراهم می‌کند. وضعیت را به صورت داخلی مدیریت می‌کند، اما در صورت نیاز می‌توانید به دارندگان وضعیت دسترسی داشته باشید.
وابستگی‌ها androidx.compose.foundation media3-ui-compose ، androidx.compose.material3 ، com.google.android.material
مورد استفاده اصلی ساخت رابط کاربری بازیکن با سیستم طراحی سفارشی. کنترل کامل بر ظاهر و حس آن. ساخت سریع رابط کاربری بازیکن که از دستورالعمل‌های طراحی متریال ۳ پیروی می‌کند.