وابستگی را اضافه کنید
کتابخانه Media3 شامل دو ماژول رابط کاربری مبتنی بر Jetpack Compose است. لازم نیست هر دوی آنها را اضافه کنید زیرا Material3 به هسته اصلی وابسته است.
کاتلین
// Include only one of the following dependencies
implementation("androidx.media3:media3-ui-compose:1.9.0")
implementation("androidx.media3:media3-ui-compose-material3:1.9.0")
گرووی
// Include only one of the following dependencies
implementation "androidx.media3:media3-ui-compose:1.9.0"
implementation "androidx.media3:media3-ui-compose-material3:1.9.0"
ما اکیداً شما را تشویق میکنیم که برنامه خود را به روش Compose-first توسعه دهید یا از استفاده از Views مهاجرت کنید .
برنامه آزمایشی کاملاً آهنگسازی
اگرچه کتابخانه media3-ui-compose شامل Composableهای آماده (مانند دکمهها، نشانگرها، تصاویر یا دیالوگها) نمیشود، اما میتوانید یک برنامه آزمایشی که کاملاً با 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 ) است که حالت Player را به حالت رابط کاربری تبدیل میکنند.
این کتابخانه کامپوننتهای آمادهی طراحی متریال را ارائه نمیدهد . شما مسئول ساخت کامپوننتهای رابط کاربری و استایلدهی به آنها هستید. این کتابخانه حداکثر کنترل را بر ظاهر و حس کاربری به شما میدهد و اگر سیستم طراحی بسیار سفارشی دارید، آن را ایدهآل میکند.
برای ادغام سریعتر با طراحی متریال، media3-ui-compose-material3 استفاده کنید.
این کتابخانه بخش نهایی رابط کاربری UI را در اختیار شما قرار میدهد. این کتابخانه به media3-ui-compose وابسته است و شامل توابع Composable از پیش ساخته شدهای است که با کامپوننتهای Material3 استایلبندی شدهاند. این کتابخانه شما را از ساخت دکمهها و سایر عناصر رابط کاربری از ابتدا بینیاز میکند. شما همچنان میتوانید تم، رنگها و آیکونهای این کامپوننتها را سفارشی کنید، اما پیادهسازی اصلی برای شما فراهم شده است.
در یک نگاه
| ویژگی | media3-ui-compose | media3-ui-compose-material3 |
|---|---|---|
| اجزای رابط کاربری | عناصر اساسی مانند PlayerSurface و ContentFrame ، اما هیچ دکمه یا کنترل از پیش استایلبندیشدهای وجود ندارد . | مجموعهای کامل از Composables از پیش ساخته شده با استایل Material3 مانند PlayPauseButton ، SeekBackButton ، PositionAndDurationText و غیره را ارائه میدهد. |
| مدیریت دولتی | برای مدیریت منطق، نگهدارندههای remember...State holders) را فراهم میکند. | وضعیت را به صورت داخلی مدیریت میکند، اما در صورت نیاز میتوانید به دارندگان وضعیت دسترسی داشته باشید. |
| وابستگیها | androidx.compose.foundation | media3-ui-compose ، androidx.compose.material3 ، com.google.android.material |
| مورد استفاده اصلی | ساخت رابط کاربری بازیکن با سیستم طراحی سفارشی. کنترل کامل بر ظاهر و حس آن. | ساخت سریع رابط کاربری بازیکن که از دستورالعملهای طراحی متریال ۳ پیروی میکند. |