منظره یاب دوربین
این جدول تمام مصنوعات موجود در گروه androidx.camera-viewfinder را فهرست میکند.
| مصنوع | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| منظره یاب-نوشتن | ۱.۵.۱ | - | - | ۱.۶.۰-آلفا۰۱ |
| منظرهیاب-هسته | ۱.۵.۱ | - | - | ۱.۶.۰-آلفا۰۱ |
| منظره یاب-نمای | ۱.۵.۱ | - | - | ۱.۶.۰-آلفا۰۱ |
اعلام وابستگیها
برای افزودن وابستگی به camera-viewfinder، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Google's Maven را مطالعه کنید.
وابستگیهای مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { // Use to implement camera viewfinders implementation "androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01" }
کاتلین
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01") }
برای اطلاعات بیشتر در مورد وابستگیها، به «افزودن وابستگیهای ساخت» مراجعه کنید.
بازخورد
بازخورد شما به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی کشف کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. میتوانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه ۱.۶
نسخه ۱.۶.۰-آلفا۰۱
۲۲ اکتبر ۲۰۲۵
androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01 ، androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01 و androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01 منتشر شدند. نسخه 1.6.0-alpha01 شامل این کامیتها است.
تغییرات API
- نمایاب پیشفرض
ImplementationModeاز طریق API عمومی جدیدViewfinderDefaults.implementationModeنمایش داده شد. اکنون این به عنوان پیشفرض برایViewfinderViewوViewfindercomposable استفاده میشود. ( Ic3f52 )
نسخه ۱.۵
نسخه ۱.۵.۱
۸ اکتبر ۲۰۲۵
androidx.camera.viewfinder:viewfinder-compose:1.5.1 ، androidx.camera.viewfinder:viewfinder-core:1.5.1 و androidx.camera.viewfinder:viewfinder-view:1.5.1 منتشر شدند. نسخه ۱.۵.۱ شامل این کامیتها است.
نسخه ۱.۵.۰
۱۰ سپتامبر ۲۰۲۵
androidx.camera.viewfinder:viewfinder-compose:1.5.0 ، androidx.camera.viewfinder:viewfinder-core:1.5.0 و androidx.camera.viewfinder:viewfinder-view:1.5.0 منتشر شدند. نسخه ۱.۵.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۴.۰:
این اولین نسخه پایدار از کتابخانه Camera Viewfinder است که APIهای مبتنی بر View و Compose قوی، آگاه از چرخه حیات و با کاربرد آسان را ارائه میدهد. این اجزا به گونهای طراحی شدهاند که به عنوان منظرهیاب دوربین عمل کنند و میتوانند مستقیماً با Camera2 ادغام شوند.
این نسخه همچنین پایه و اساس مصنوع جدید androidx.camera:camera-compose را ایجاد میکند که CameraXViewfinder معرفی میکند، یک منظرهیاب به اصطلاح Compose که به طور یکپارچه با CameraX SurfaceRequest ها ادغام میشود، مشابه نحوهی عملکرد PreviewView برای طرحبندیهای مبتنی بر View. برخی از مهمترین تغییرات عبارتند از:
- جابجایی مصنوعات: برای بهبود ماژولاریتی، مصنوعات Viewfinder به گروه کتابخانهای خود منتقل شدهاند. توسعهدهندگانی که قبلاً از وابستگیهای
androidx.camera:camera-viewfinder*استفاده میکردند، باید بهandroidx.camera.viewfinder:viewfinder-*مهاجرت کنند. - تثبیت و اصلاحات API: سطح API برای این نسخه پایدار بهبود یافته است. این شامل تغییر نام
CameraViewfinderبهViewfinderViewبرای انعکاس بهتر تطبیقپذیری آن، سازماندهی مجدد بستهها برای وضوح بیشتر و تبدیلViewfinderSurfaceRequestبه یک نوع داده تغییرناپذیر برای مدیریت حالت قابل پیشبینیتر میشود. - بهروزرسانیهای API مربوط به نوشتن: API
Viewfinderنوشتهشده اکنونContentScaleوAlignmentبرای کنترل دقیق نحوه نمایش جریان دوربین در کانتینر خود پشتیبانی میکند و رفتار استانداردandroidx.compose.foundation.Imagecomposable را منعکس میکند. - مدیریت چرخه حیات Surface:
ViewfinderSurfaceSessionاکنون در طول تغییرات پیکربندی و رویدادهای چرخه حیات در API 29+ فعال میماند. این تغییر برای کاهش فریمهای از دست رفته و ارائه یک تجربه کاربری روانتر طراحی شده است. - پیشفرضهای حالت پیادهسازی:
Viewfinderاکنون به طور پیشفرض روی یکImplementationModeهوشمند قرار دارد که به طور خودکار بهترین پیادهسازی زیربنایی را انتخاب میکند. این حالتSurfaceViewبا عملکرد بالا (حالتEXTERNAL) را در اولویت قرار میدهد و در سطوح API قدیمیتر یا دستگاههایی با مشکلات سازگاری شناخته شده، به طور مناسب بهTextureViewسازگارتر (حالتEMBEDDED) برمیگردد. این رفتار هنوز هم میتواند برای کنترل کامل توسعهدهنده لغو شود.
رفع اشکالات
-
Viewfinderترکیبی اکنون به درستی درPagerCompose و باmovableContentOf()کار میکند و تضمین میکند که سطح به درستی تنظیم مجدد شده و در سناریوهای پیچیده رابط کاربری مدیریت میشود. ( I0d9be ، I79432 ) - مشکلی که در اندروید ۱۰ و ۱۱ وجود داشت و باعث میشد
Viewfinderمبتنی برSurfaceViewهنگام اعمال تبدیلها کشیده به نظر برسد، برطرف شد. ( Icc77c )
نسخه ۱.۵.۰-rc01
۱۳ آگوست ۲۰۲۵
androidx.camera.viewfinder:viewfinder-compose:1.5.0-rc01 ، androidx.camera.viewfinder:viewfinder-core:1.5.0-rc01 و androidx.camera.viewfinder:viewfinder-view:1.5.0-rc01 منتشر شدهاند. نسخه 1.5.0-rc01 شامل این کامیتها است.
رفع اشکالات
- انتقال
minSdkپیشفرض از API 21 به API 23 ( Ibdfca ، b/380448311 ، b/435705964 ، b/435705223 )
نسخه ۱.۵.۰-بتا۰۳
۱۶ ژوئیه ۲۰۲۵
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03 ، androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03 و androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03 منتشر شدند. نسخه 1.5.0-beta03 شامل این کامیتها است.
رفع اشکالات
- حالت پیشفرض
ImplementationModeبرایViewfinder(هم Compose و هم View-based) اکنون به طور هوشمندانه بینEXTERNAL(برای عملکرد) وEMBEDDED(برای سازگاری با APIهای قدیمیتر/دستگاههای عجیب و غریب) یکی را انتخاب میکند. این رفتار هنوز هم میتواند با تنظیمات صریح درViewfinderSurfaceRequestیا ویژگیهای XML (در View-based API) لغو شود. ( Iecd3a ) - مدیریت جلسه سطح (Surface Session) بهبود یافته است، به این صورت که
ViewfinderSurfaceSessionدر طول چرخههای ایجاد/تخریب سطح، هنگام استفاده از TextureView یا SurfaceView در API 29+، فعال میماند. ( I112d9 ) - اکنون
Viewfinderتضمین میکند که Surfaces در زمان مناسب، تنها زمانی که دیگر توسط session مورد استفاده قرار نمیگیرند، منتشر شوند، به جای اینکه همیشه زمانی که Composable از دسترس خارج میشود، منتشر شوند. برایEXTERNAL(SurfaceView) این رفتار در حال حاضر فقط در API 29+ در دسترس است. برایEMBEDDED(TextureView)، این رفتار در تمام سطوح API وجود دارد. ( I9a03f ) -
Viewfinderاکنون به درستی جایگزینی سطح را در سناریوهایی مانند زمانی که یک منظرهیابEXTERNALدر سطح API 28 یا پایینتر از صفحه خارج میشود یا اگر یکViewfinder(با هرImplementationMode) بخشی ازmoveableContentOf()باشد، مدیریت میکند. ( I79432 ) - نمایاب ترکیبی (Composable
Viewfinder) اکنون به درستی باPager(Pager) صفحهی Compose کار میکند. این تغییر تضمین میکند که با پیادهسازی فراخوانیonResetازAndroidView، که از هر دو پیادهسازیEMBEDDEDوEXTERNALپشتیبانی میکند، میتوان Composable را با موفقیت بازنشانی کرد. ( I0d9be ) - مشکلی را در اندروید ۱۰/۱۱ برطرف میکند که در آن نمایاب خارجی (
EXTERNALViewfinderبه دلیل اعمال زودهنگام عملیات تبدیل (مانند مقیاسبندی یا ترجمه) ممکن بود کشیده یا نادرست به نظر برسد. اکنون سیستم قبل از اعمال این تبدیلات در مرحله طرحبندی، منتظر ایجاد Surface میماند تا خروجی صحیح تضمین شود. ( Icc77c )
نسخه ۱.۵.۰-بتا۰۲
۴ ژوئن ۲۰۲۵
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02 ، androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02 و androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02 منتشر شدند. نسخه 1.5.0-beta02 شامل این کامیتها است.
نسخه ۱.۵.۰-بتا۰۱
۷ مه ۲۰۲۵
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01 ، androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01 و androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01 منتشر شدند. نسخه 1.5.0-beta01 شامل این کامیتها است.
- این اولین نسخه بتای رسمی از منظرهیابهای مبتنی بر نما و مبتنی بر ترکیب است که به اندازه کافی انعطافپذیر هستند تا با Camera2 استفاده شوند. اگر به دنبال یک منظرهیاب یا قابل ترکیب برای استفاده با CameraX هستید، به
PreviewViewوCameraXViewfinderمراجعه کنید.
ویژگیهای جدید
- اکنون میتوان
ContentScaleوAlignmentدر نمایاب مبتنی بر compose برای مقیاسبندی و قرار دادن سطح نمایش داده شده در ظرف آن استفاده کرد، مشابه نحوه رفتارandroidx.compose.foundation.Image. ( Ibcea3 )
تغییرات API
-
TransformationInfoاکنون برای همه آرگومانها مقادیر پیشفرض دارد. این امر به Viewfinders اجازه میدهد بدون هیچTransformationInfoایجاد شوند، که به طور پیشفرض روی چرخش منبع ۰، بدون آینهسازی منبع و بدون برش صحیح تنظیم شده است. ( I2b1b2 ) - Composable Viewfinder اکنون یک لامبدا انتهایی برای دریافت یک جلسه Surface میگیرد، مشابه
AndroidExternalSurface. لامبدا ارائه شده ازViewfinderInitScopeبه عنوان گیرنده استفاده میکند که امکان نصب یک callback برای دریافت جلسات Surface جدید را فراهم میکند. این جلسات surface به طور خودکار منابع نگهداری شده توسط Viewfinder را هنگام خارج شدن از محدوده، آزاد میکنند. ( Ib2b0d ) -
ViewfinderSurfaceRequest.Builder.populateFromCharacteristicsاکنون حذف شده و با مجموعهای معادل از APIهای استاتیک جایگزین شده است که میتوانند برای تولیدTransformationInfoاستفاده شوند که همان تبدیلpopulateFromCharacteristicsرا تولید میکند. این متدهای استاتیک به کلاسCamera2TransformationInfoاضافه شدهاند. ( Idc6af ) -
ViewfinderSurfaceRequestدیگر شامل APIهای ناهمگام برای بازیابی سطح نیست. اکنون یک نوع داده تغییرناپذیر است. APIهای بازیابی سطح اکنون به منظرهیاب منتقل شدهاند. ( I30127 ) -
CameraViewfinderبهViewfinderViewتغییر نام داده است تا نامگذاری آن با نامگذاری Viewfinder composable همسو باشد و نشان دهد که میتوان از آن علاوه بر منابع دوربین، با منابع دیگری نیز استفاده کرد. ( Id9e6b ) - کلاسهای
viewfinder-viewاز بستهandroidx.camera.viewfinder.viewبه زیربستهandroidx.camera.viewfinderمنتقل شدهاند. ( I6cb44 ) - APIهای جدیدی به Viewfinder مبتنی بر نما اضافه شدهاند که امکان تنظیم چرخش منبع، قرینهسازی و برش مستطیل را فراهم میکنند. این کلاس
TransformationInfoهمان کلاسی است که توسط Viewfinder مبتنی بر ترکیب استفاده میشود. ( I907c3 ) - Viewfinder مبتنی بر نما اکنون از APIهای جدید
ViewfinderSurfaceRequestاستفاده میکند که دیگر به صورت داخلی پاسخ Surface را مدیریت نمیکنند. به جای بازگرداندنListenableFuture<Surface>، APIهایrequestSurfaceSession()اکنونListenableFuture<ViewfinderSurfaceSession>را برمیگردانند که یک کلاسAutoCloseableبرمیگرداند که هنگام بسته شدن، مانند فراخوانی API قدیمیViewfinderSurfaceRequest.markSurfaceSafeToRelease()رفتار میکند. این امر تفکیک واضحتری از مسئولیتها بین درخواست سطحی و پاسخ سطحی را فراهم میکند. ( I19041 )
نسخه ۱.۴
نسخه ۱.۴.۰-آلفا۱۳
۲۶ فوریه ۲۰۲۵
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13 ، androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13 و androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13 منتشر شدند. نسخه 1.4.0-alpha13 شامل این کامیتها است.
نسخه ۱.۴.۰-آلفا۱۲
۱۵ ژانویه ۲۰۲۵
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12 ، androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12 و androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12 منتشر شدند. نسخه 1.4.0-alpha12 شامل این کامیتها است.
ویژگیهای جدید
- برای استفاده از API مربوط به اندروید ۱۵،
compileSdkبه نسخه ۳۵ ارتقا داده شد. برنامههایی که از کتابخانههای CameraX استفاده میکنند نیز باید تنظیمات پیکربندیcompileSdkخود را ارتقا دهند. ( Ic80cd ) - این کتابخانه اکنون از حاشیهنویسیهای nullness از نوع JSpecify استفاده میکند که از نوع استفاده میکنند. توسعهدهندگان کاتلین باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict(این پیشفرض است که از نسخه ۲.۱.۰ کامپایلر کاتلین شروع میشود). ( I7bcd7 ، b/326456246 )
نسخه ۱.۴.۰-آلفا۱۱
۱۱ دسامبر ۲۰۲۴
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11 ، androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11 و androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11 منتشر شدند. نسخه 1.4.0-alpha11 شامل این کامیتها است.
تغییرات API
- کلاسهای
viewfinder-coreبه بستههایی منتقل شدهاند که با کتابخانهای که به آن تعلق دارند سازگار هستند. ( I431c6 ) -
CameraViewfinder.ScaleTypeبهviewfinder-coreمنتقل شده است تا بتوان آن را با compose ( I87ef1 ) دوباره استفاده کرد. - کلاسهای منسوخشدهی
CameraViewfinderحذف شدهاند. لطفاً از APIهای جدید که عملکرد معادل را ارائه میدهند استفاده کنید. ( I6e59a )
نسخه ۱.۴.۰-آلفا۱۰
۳۰ اکتبر ۲۰۲۴
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10 ، androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10 و androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10 منتشر شدند. نسخه 1.4.0-alpha10 شامل این کامیتها است.
نسخه ۱.۴.۰-آلفا۰۹
۲ اکتبر ۲۰۲۴
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09 ، androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09 و androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09 منتشر شدند. نسخه 1.4.0-alpha09 شامل این کامیتها است.
نسخه ۱.۴.۰-آلفا۰۸
۴ سپتامبر ۲۰۲۴
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08 ، androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08 و androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08 منتشر شدند. نسخه 1.4.0-alpha08 شامل این کامیتها است.
ویژگیهای جدید
با بهروزرسانی به نسخه ۱.۴.۰-alpha08، قطعه مربوط به منظرهیاب CameraX به گروه کتابخانهی مخصوص به خود منتقل شده است. این تغییر برای بهبود ماژولاریتی و قابلیت نگهداری کتابخانهی CameraX ضروری است.
اگر قبلاً به androidx.camera:camera-viewfinder ، androidx.camera:camera-viewfinder-compose یا androidx.camera:camera-viewfinder-core وابسته بودید، باید وابستگیهای خود را به موارد زیر منتقل کنید:
-
androidx.camera:camera-viewfinder->androidx.camera.viewfinder:viewfinder-view -
androidx.camera:camera-viewfinder-compose->androidx.camera.viewfinder:viewfinder-compose -
androidx.camera:camera-viewfinder-core->androidx.camera.viewfinder:viewfinder-core
برای انجام این انتقال نیازی به تغییر کد نیست. مختصات قدیمی Viewfinder دیگر بهروزرسانی نخواهند شد.
علاوه بر این، اگر از Compose با CameraX استفاده میکنید، یک کتابخانه جدید Compose-first اکنون به صورت آلفا در دسترس است: androidx.camera:camera-compose . این کتابخانه، CameraXViewfinder composable را فراهم میکند که یک Viewfinder با اصطلاح compose است که SurfaceRequest دوربین X را با Compose تطبیق میدهد، مشابه نحوه عملکرد PreviewView برای نماها.