عدسة الكاميرا
يسرد هذا الجدول جميع العناصر في مجموعة androidx.camera-viewfinder.
| العناصر | الإصدار المستقر | إصدار محتمل | الإصدار التجريبي | الإصدار الأولي |
|---|---|---|---|---|
| viewfinder-compose | 1.6.0 | - | - | 1.7.0-alpha01 |
| viewfinder-core | 1.6.0 | - | - | 1.7.0-alpha01 |
| viewfinder-view | 1.6.0 | - | - | 1.7.0-alpha01 |
تحديد الاعتماديات
لإضافة اعتمادية على camera-viewfinder، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:
رائع
dependencies { // Use to implement camera viewfinders implementation "androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01") }
لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات الإصدار.
الملاحظات
تُساعدنا ملاحظاتك على تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى إلقاء نظرة على الـ مشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.
الإصدار 1.7
الإصدار 1.7.0-alpha01
11 مارس 2026
تم إصدار androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01 وandroidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01 وandroidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01. يتضمّن الإصدار 1.7.0-alpha01 هذه التعديلات.
الإصدار 1.6
الإصدار 1.6.0
25 مارس 2026
تم إصدار androidx.camera.viewfinder:viewfinder-compose:1.6.0 وandroidx.camera.viewfinder:viewfinder-core:1.6.0 وandroidx.camera.viewfinder:viewfinder-view:1.6.0. يتضمّن الإصدار 1.6.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.5.0:
- تم عرض
ImplementationModeالتلقائي لعدسة الكاميرا من خلال واجهة برمجة التطبيقات العامة الجديدةViewfinderDefaults.implementationMode. ويتم الآن استخدام هذا الإعداد تلقائيًا لكلٍّ منViewfinderViewوViewfindercomposable. (Ic3f52)
الإصدار 1.6.0-rc01
25 فبراير 2026
تم إصدار androidx.camera.viewfinder:viewfinder-compose:1.6.0-rc01 وandroidx.camera.viewfinder:viewfinder-core:1.6.0-rc01 وandroidx.camera.viewfinder:viewfinder-view:1.6.0-rc01. يتضمّن الإصدار 1.6.0-rc01 هذه التعديلات.
الإصدار 1.6.0-beta02
11 فبراير 2026
تم إصدار androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta02 وandroidx.camera.viewfinder:viewfinder-core:1.6.0-beta02 وandroidx.camera.viewfinder:viewfinder-view:1.6.0-beta02. يتضمّن الإصدار 1.6.0-beta02 هذه التعديلات.
الإصدار 1.6.0-beta01
28 يناير 2026
تم إصدار androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta01 وandroidx.camera.viewfinder:viewfinder-core:1.6.0-beta01 وandroidx.camera.viewfinder:viewfinder-view:1.6.0-beta01. يتضمّن الإصدار 1.6.0-beta01 هذه التعديلات.
الإصدار 1.6.0-alpha02
17 ديسمبر 2025
تم إصدار androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha02 وandroidx.camera.viewfinder:viewfinder-core:1.6.0-alpha02 وandroidx.camera.viewfinder:viewfinder-view:1.6.0-alpha02. يتضمّن الإصدار 1.6.0-alpha02 هذه التعديلات.
الإصدار 1.6.0-alpha01
22 أكتوبر 2025
تم إصدار 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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم عرض
ImplementationModeالتلقائي لعدسة الكاميرا من خلال واجهة برمجة التطبيقات العامة الجديدةViewfinderDefaults.implementationMode. ويتم الآن استخدام هذا الإعداد تلقائيًا لكلٍّ منViewfinderViewوViewfindercomposable. (Ic3f52)
الإصدار 1.5
الإصدار 1.5.3
28 يناير 2026
تم إصدار androidx.camera.viewfinder:viewfinder-compose:1.5.3 وandroidx.camera.viewfinder:viewfinder-core:1.5.3 وandroidx.camera.viewfinder:viewfinder-view:1.5.3. يتضمّن الإصدار 1.5.3 هذه التعديلات.
الإصدار 1.5.2
4 ديسمبر 2025
تم إصدار androidx.camera.viewfinder:viewfinder-compose:1.5.2 وandroidx.camera.viewfinder:viewfinder-core:1.5.2 وandroidx.camera.viewfinder:viewfinder-view:1.5.2. يتضمّن الإصدار 1.5.2 هذه التعديلات.
الإصدار 1.5.1
08 أكتوبر 2025
تم إصدار androidx.camera.viewfinder:viewfinder-compose:1.5.1 وandroidx.camera.viewfinder:viewfinder-core:1.5.1 وandroidx.camera.viewfinder:viewfinder-view:1.5.1. يتضمّن الإصدار 1.5.1 هذه التعديلات.
الإصدار 1.5.0
10 سبتمبر 2025
تم إصدار androidx.camera.viewfinder:viewfinder-compose:1.5.0 وandroidx.camera.viewfinder:viewfinder-core:1.5.0 وandroidx.camera.viewfinder:viewfinder-view:1.5.0. يتضمّن الإصدار 1.5.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.4.0:
هذا هو أول إصدار مستقر من مكتبة Camera Viewfinder، ما يوفّر واجهات برمجة تطبيقات قوية وسهلة الاستخدام تستند إلى View وCompose وتراعي مراحل النشاط. تم تصميم هذه المكوّنات لتكون بمثابة عدسة كاميرا ويمكن دمجها مباشرةً مع Camera2.
يضع هذا الإصدار أيضًا الأساس للعنصر الجديد androidx.camera:camera-compose، الذي يقدّم CameraXViewfinder، وهي عدسة كاميرا متوافقة مع Compose تتكامل بسلاسة مع SurfaceRequest من CameraX، على غرار طريقة عمل PreviewView مع التنسيقات المستندة إلى View. تشمل بعض أهم التغييرات ما يلي:
- نقل العناصر: لتحسين إمكانية التقسيم إلى وحدات، تم نقل عناصر عدسة الكاميرا إلى مجموعة المكتبة الخاصة بها. على المطوّرين الذين كانوا يستخدمون سابقًا الاعتمادات
androidx.camera:camera-viewfinder*الانتقال إلىandroidx.camera.viewfinder:viewfinder-*. - تثبيت واجهة برمجة التطبيقات وتحسينها: تم تحسين واجهة برمجة التطبيقات لهذا الإصدار المستقر. ويشمل ذلك إعادة تسمية
CameraViewfinderإلىViewfinderViewلتعكس بشكل أفضل مدى تنوّع استخدامها، وإعادة تنظيم الحِزم لمزيد من الوضوح، وجعلViewfinderSurfaceRequestنوع بيانات غير قابل للتغيير لإدارة الحالة بشكل أكثر قابلية للتوقّع. - تعديلات على واجهة برمجة التطبيقات Compose: تتيح الآن واجهة برمجة التطبيقات
Viewfinderمن Compose استخدامContentScaleوAlignmentللتحكّم الدقيق في طريقة عرض بث الكاميرا داخل الحاوية، ما يعكس سلوك composable العاديandroidx.compose.foundation.Image. - إدارة مراحل النشاط في مساحة العرض: يتم الآن إبقاء
ViewfinderSurfaceSessionنشطة أثناء تغييرات الإعدادات وأحداث مراحل النشاط على واجهة برمجة التطبيقات 29 والإصدارات الأحدث. تم تصميم هذا التغيير للحدّ من الإطارات التي يتم إسقاطها وتوفير تجربة مستخدم أكثر سلاسة. - الإعدادات التلقائية لوضع التنفيذ: يتم الآن ضبط
Viewfinderتلقائيًا علىImplementationModeذكي يختار تلقائيًا أفضل تنفيذ أساسي. ويعطي الأولوية لـSurfaceViewعالي الأداء (وضعEXTERNAL) ويعود بسلاسة إلىTextureViewالأكثر توافقًا (وضعEMBEDDED) على مستويات واجهة برمجة التطبيقات القديمة أو الأجهزة التي تواجه مشاكل معروفة في التوافق. لا يزال بإمكان المطوّرين إلغاء هذا السلوك للتحكّم الكامل.
إصلاح الأخطاء
- تعمل الآن composable
Viewfinderبشكلٍ صحيح ضمنPagerمن Compose ومعmovableContentOf()، ما يضمن إعادة ضبط مساحة العرض وإدارتها بشكلٍ صحيح في سيناريوهات واجهة المستخدم المعقّدة. (I0d9be, I79432) - تم إصلاح مشكلة على Android 10 و11 حيث كان من الممكن أن تظهر
Viewfinderالمستندة إلىSurfaceViewممدودة عند تطبيق عمليات التحويل. (Icc77c)
الإصدار 1.5.0-rc01
13 أغسطس 2025
تم إصدار 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التلقائي من واجهة برمجة التطبيقات 21 إلى واجهة برمجة التطبيقات 23 (Ibdfca وb/380448311 وb/435705964 وb/435705223)
الإصدار 1.5.0-beta03
16 يوليو 2025
تم إصدار 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) بذكاء بينEXTERNAL(للأداء) وEMBEDDED(للتوافق على واجهات برمجة التطبيقات القديمة/الأجهزة الغريبة). لا يزال بإمكانك إلغاء هذا السلوك من خلال إعدادات صريحة فيViewfinderSurfaceRequestأو سمات XML (على واجهة برمجة التطبيقات المستندة إلى View). (Iecd3a) - تم تحسين إدارة جلسة مساحة العرض من خلال السماح بإبقاء
ViewfinderSurfaceSessionنشطة أثناء مراحل إنشاء مساحة العرض/تدميرها عند استخدام TextureView أو SurfaceView على واجهة برمجة التطبيقات 29 والإصدارات الأحدث. (I112d9) - تضمن الآن
Viewfinderإطلاق مساحات العرض في الوقت المناسب، فقط عندما لا تكون الجلسة تستخدمها، بدلاً من إطلاقها دائمًا عند إيقاف Composable. بالنسبة إلىEXTERNAL(SurfaceView)، لا يتوفّر هذا السلوك حاليًا إلا على واجهة برمجة التطبيقات 29 والإصدارات الأحدث. أما بالنسبة إلىEMBEDDED(TextureView)، فيتوفّر هذا السلوك على جميع مستويات واجهة برمجة التطبيقات. (I9a03f) - تتعامل الآن
Viewfinderبشكلٍ صحيح مع استبدال مساحة العرض في سيناريوهات مثل عندما تنتقل عدسة الكاميراEXTERNALعلى مستوى واجهة برمجة التطبيقات 28 أو الإصدارات الأقدم خارج الشاشة أو إذا كانتViewfinder(بأيImplementationMode) جزءًا منmoveableContentOf(). (I79432) - تعمل الآن composable
Viewfinderبشكلٍ صحيح معPagerمن Compose. يضمن هذا التغيير إمكانية إعادة ضبط Composable بنجاح من خلال تنفيذ معاودة الاتصالonResetفيAndroidView، ما يتيح استخدام كلٍّ من تنفيذيEMBEDDEDوEXTERNAL. (I0d9be) - تم إصلاح مشكلة على Android 10/11 حيث كان من الممكن أن تظهر
ViewfinderمنEXTERNALممدودة أو غير صحيحة بسبب عمليات التحويل (مثل تغيير الحجم أو النقل) التي يتم تطبيقها في وقت مبكر جدًا. ينتظر النظام الآن إنشاء مساحة العرض قبل تطبيق عمليات التحويل هذه في مرحلة التنسيق، ما يضمن الحصول على الناتج الصحيح. (Icc77c)
الإصدار 1.5.0-beta02
4 يونيو 2025
تم إصدار 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 هذه التعديلات.
الإصدار 1.5.0-beta01
7 مايو 2025
تم إصدار 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 هذه التعديلات.
- هذا هو أول إصدار تجريبي رسمي من عدسات الكاميرا المستندة إلى View وCompose، والتي تتسم بالمرونة الكافية لاستخدامها مع Camera2. إذا كنت تبحث عن View أو composable لاستخدامه مع CameraX، يُرجى الاطّلاع على
PreviewViewوCameraXViewfinder.
الميزات الجديدة
- يمكن الآن استخدام
ContentScaleوAlignmentفي عدسة الكاميرا المستندة إلى Compose لتغيير حجم مساحة العرض المعروضة ووضعها داخل الحاوية، على غرار طريقة عملandroidx.compose.foundation.Image. (Ibcea3)
تغييرات واجهة برمجة التطبيقات
- تتضمّن
TransformationInfoالآن قيمًا تلقائية لجميع الوسيطات. سيسمح ذلك بإنشاء عدسات الكاميرا بدون أيTransformationInfo، والتي سيتم ضبطها تلقائيًا على دوران المصدر بمقدار 0، وبدون نسخ مطابق للمصدر، وبدون مستطيل اقتصاص. (I2b1b2) - تتلقّى الآن عدسة الكاميرا Composable لامدا في النهاية لتلقّي جلسة مساحة عرض، على غرار
AndroidExternalSurface. تستخدم اللامدا المقدَّمةViewfinderInitScopeكجهاز استقبال، ما يسمح بتثبيت معاودة اتصال لتلقّي جلسات مساحة عرض جديدة. تطلق جلسات مساحة العرض هذه تلقائيًا الموارد التي تحتفظ بها عدسة الكاميرا عندما تصبح خارج النطاق. (Ib2b0d) - تمت إزالة
ViewfinderSurfaceRequest.Builder.populateFromCharacteristicsالآن وتم استبدالها بمجموعة مكافئة من واجهات برمجة التطبيقات الثابتة التي يمكن استخدامها لإنشاءTransformationInfoالتي ستنتج التحويل نفسه الذي تنتجهpopulateFromCharacteristics. تمت إضافة هذه الطرق الثابتة إلى فئةCamera2TransformationInfo. (Idc6af) - لم يعُد
ViewfinderSurfaceRequestيتضمّن واجهات برمجة تطبيقات غير متزامنة لاسترداد مساحة العرض. وهي الآن نوع بيانات غير قابل للتغيير. تم نقل واجهات برمجة التطبيقات لاسترداد مساحة العرض إلى عدسة الكاميرا. (I30127) - تمت إعادة تسمية
CameraViewfinderإلىViewfinderViewليتوافق الاسم مع اسم عدسة الكاميرا composable وللإشارة إلى إمكانية استخدامها مع أكثر من مجرد مصادر الكاميرا. (Id9e6b) - تم نقل الفئات من
viewfinder-viewإلى الحزمة الفرعيةandroidx.camera.viewfinder.viewمن الحزمةandroidx.camera.viewfinder. (I6cb44) - تمت إضافة واجهات برمجة تطبيقات جديدة إلى عدسة الكاميرا المستندة إلى View تسمح بضبط دوران المصدر ونسخه المطابق ومستطيل الاقتصاص. فئة
TransformationInfoهذه هي الفئة نفسها التي تستخدمها عدسة الكاميرا المستندة إلى Compose. (I907c3) - تستخدم الآن عدسة الكاميرا المستندة إلى View واجهات برمجة تطبيقات
ViewfinderSurfaceRequestالجديدة التي لم تعُد تتعامل داخليًا مع استجابة مساحة العرض. بدلاً من عرضListenableFuture<Surface>، تعرض الآن واجهات برمجة التطبيقاتrequestSurfaceSession()ListenableFuture<ViewfinderSurfaceSession>التي تعرض فئةAutoCloseableالتي تتصرف عند إغلاقها بالطريقة نفسها التي يتصرف بها استدعاء واجهة برمجة التطبيقات القديمةViewfinderSurfaceRequest.markSurfaceSafeToRelease(). يوفّر ذلك فصلًا أوضح للمسؤوليات بين طلب مساحة العرض واستجابة مساحة العرض. (I19041)
الإصدار 1.4
الإصدار 1.4.0-alpha13
26 فبراير 2025
تم إصدار 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 هذه التعديلات.
الإصدار 1.4.0-alpha12
15 يناير 2025
تم إصدار 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 هذه التعديلات.
الميزات الجديدة
- تمت ترقية
compileSdkإلى 35 لاستخدام واجهة برمجة التطبيقات ذات الصلة بنظام التشغيل Android 15. ستحتاج التطبيقات التي تستخدم مكتبات CameraX أيضًا إلى ترقية إعداداتcompileSdkفي ملف الإعدادات. (Ic80cd) - تستخدم هذه المكتبة الآن تعليقات JSpecify التوضيحية بشأن القيم الخالية، وهي تعليقات توضيحية بشأن استخدام النوع. على مطوّري Kotlin استخدام وسيطة المحول البرمجي التالية لفرض الاستخدام الصحيح:
-Xjspecify-annotations=strict(هذا هو الإعداد التلقائي بدءًا من الإصدار 2.1.0 من محول Kotlin البرمجي). (I7bcd7, b/326456246)
الإصدار 1.4.0-alpha11
11 ديسمبر 2024
تم إصدار 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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم نقل فئات
viewfinder-coreإلى حِزم تتوافق مع المكتبة التي تنتمي إليها. (I431c6) CameraViewfinder.ScaleTypeتم نقله إلىviewfinder-coreليتم إعادة استخدامه مع Compose (I87ef1)- تمت إزالة فئات
CameraViewfinderالتي تم إيقافها نهائيًا. يُرجى استخدام واجهات برمجة التطبيقات الجديدة التي توفّر وظائف مكافئة. (I6e59a)
الإصدار 1.4.0-alpha10
30 أكتوبر 2024
تم إصدار 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 هذه التعديلات.
الإصدار 1.4.0-alpha09
2 أكتوبر 2024
تم إصدار 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 هذه التعديلات.
الإصدار 1.4.0-alpha08
4 سبتمبر 2024
تم إصدار 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 هذه التعديلات.
الميزات الجديدة
مع التحديث إلى الإصدار 1.4.0-alpha08، تم نقل عنصر CameraX Viewfinder إلى مجموعة المكتبة الخاصة به. هذا التغيير ضروري لتحسين إمكانية التقسيم إلى وحدات وإمكانية الصيانة في مكتبة CameraX.
إذا كنت تعتمد سابقًا على androidx.camera:camera-viewfinder أو androidx.camera:camera-viewfinder-compose أو androidx.camera:camera-viewfinder-core، عليك نقل الاعتمادات إلى ما يلي:
androidx.camera:camera-viewfinder->androidx.camera.viewfinder:viewfinder-viewandroidx.camera:camera-viewfinder-compose->androidx.camera.viewfinder:viewfinder-composeandroidx.camera:camera-viewfinder-core->androidx.camera.viewfinder:viewfinder-core
لا يُفترض أن تحتاج إلى إجراء أي تغييرات على الرموز البرمجية لإجراء هذا الانتقال. لن تتلقّى إحداثيات Maven القديمة لعدسة الكاميرا أي تحديثات بعد الآن.
بالإضافة إلى ذلك، إذا كنت تستخدم Compose مع CameraX، تتوفّر الآن مكتبة جديدة تستند إلى Compose أولاً في الإصدار الأولي: androidx.camera:camera-compose. توفّر هذه المكتبة composable CameraXViewfinder، وهي عدسة كاميرا متوافقة مع Compose تُكيّف SurfaceRequest من CameraX مع Compose، على غرار طريقة عمل PreviewView مع طرق العرض.