عدسة الكاميرا
يسرد هذا الجدول جميع العناصر في مجموعة androidx.camera-viewfinder.
| العناصر | الإصدار المستقر | إصدار محتمل | الإصدار التجريبي | الإصدار الأولي |
|---|---|---|---|---|
| viewfinder-compose | 1.6.1 | - | - | 1.7.0-alpha01 |
| viewfinder-core | 1.6.1 | - | - | 1.7.0-alpha01 |
| viewfinder-view | 1.6.1 | - | - | 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.1
6 مايو 2026
تم إصدار androidx.camera.viewfinder:viewfinder-compose:1.6.1 وandroidx.camera.viewfinder:viewfinder-core:1.6.1 وandroidx.camera.viewfinder:viewfinder-view:1.6.1. يتضمّن الإصدار 1.6.1 هذه التعديلات.
الإصدار 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وcomposableViewfinder. (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وcomposableViewfinder. (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
8 أكتوبر 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، ما يوفّر واجهات برمجة تطبيقات قوية وسهلة الاستخدام ومستندة إلى العرض وCompose ومدرِكة لدورة الحياة. تم تصميم هذه المكوّنات لتكون بمثابة عدسة الكاميرا ويمكن دمجها مباشرةً مع Camera2.
يضع هذا الإصدار أيضًا الأساس لعنصر androidx.camera:camera-compose الجديد، الذي يقدّم CameraXViewfinder، وهي عدسة كاميرا مستندة إلى Compose تتكامل بسلاسة مع SurfaceRequest من CameraX، على غرار طريقة عمل PreviewView مع التنسيقات المستندة إلى العرض. تشمل بعض أهم التغييرات ما يلي:
- نقل العناصر: لتحسين إمكانية التقسيم إلى وحدات، تم نقل عناصر عدسة الكاميرا إلى مجموعة مكتبة خاصة بها. على المطوّرين الذين كانوا يستخدمون سابقًا الاعتمادات
androidx.camera:camera-viewfinder*الانتقال إلىandroidx.camera.viewfinder:viewfinder-*. - تثبيت واجهة برمجة التطبيقات وتحسينها: تم تحسين واجهة برمجة التطبيقات لهذا الإصدار المستقر. ويشمل ذلك إعادة تسمية
CameraViewfinderإلىViewfinderViewلتعكس بشكل أفضل مدى تنوّعها، وإعادة تنظيم الحِزم لزيادة الوضوح، وجعلViewfinderSurfaceRequestنوع بيانات غير قابل للتغيير لإدارة الحالة بشكل أكثر قابلية للتوقّع. - تعديلات على واجهة برمجة التطبيقات Compose: تتيح الآن واجهة برمجة التطبيقات
Viewfinderفي Compose استخدامContentScaleوAlignmentللتحكّم بدقة في طريقة عرض بث الكاميرا داخل الحاوية، ما يعكس سلوك composableandroidx.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 والمستند إلى العرض) بذكاء بينEXTERNAL(للأداء) وEMBEDDED(للتوافق على واجهات برمجة التطبيقات القديمة/الأجهزة الغريبة). لا يزال بإمكانك إلغاء هذا السلوك من خلال إعدادات صريحة فيViewfinderSurfaceRequestأو سمات XML (على واجهة برمجة التطبيقات المستندة إلى العرض). (Iecd3a) - تم تحسين إدارة جلسة مساحة العرض من خلال السماح بإبقاء
ViewfinderSurfaceSessionنشطة أثناء دورات حياة إنشاء مساحة العرض/إتلافها عند استخدام TextureView أو SurfaceView على المستوى 29 من واجهة برمجة التطبيقات والإصدارات الأحدث. (I112d9) - تضمن الآن
Viewfinderإطلاق مساحات العرض في الوقت المناسب، فقط عندما لا تكون الجلسة تستخدمها، بدلاً من إطلاقها دائمًا عند إيقاف Composable. بالنسبة إلىEXTERNAL(SurfaceView)، لا يتوفّر هذا السلوك حاليًا إلا على المستوى 29 من واجهة برمجة التطبيقات والإصدارات الأحدث. بالنسبة إلىEMBEDDED(TextureView)، يتوفّر هذا السلوك على جميع مستويات واجهة برمجة التطبيقات. (I9a03f) - تتعامل الآن
Viewfinderبشكل صحيح مع استبدال مساحة العرض في سيناريوهات مثل عندما تنتقل عدسة الكاميراEXTERNALعلى مستوى واجهة برمجة التطبيقات 28 أو إصدار أقدم خارج الشاشة أو إذا كانتViewfinder(بأيImplementationMode) جزءًا منmoveableContentOf(). (I79432) - تعمل الآن
Viewfinderالمستندة إلى Compose بشكل صحيح مع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 هذه التعديلات.
- هذا هو أول إصدار تجريبي رسمي من عدسات الكاميرا المستندة إلى العرض وCompose والتي تتسم بالمرونة الكافية لاستخدامها مع Camera2. إذا كنت تبحث عن عرض أو composable لاستخدامه مع CameraX، اطّلِع على
PreviewViewوCameraXViewfinder.
الميزات الجديدة
- يمكن الآن استخدام
ContentScaleوAlignmentفي عدسة الكاميرا المستندة إلى Compose لتغيير حجم مساحة العرض وعرضها داخل الحاوية، على غرار طريقة عملandroidx.compose.foundation.Image. (Ibcea3)
تغييرات واجهة برمجة التطبيقات
- تتضمّن الآن
TransformationInfoقيمًا تلقائية لجميع الوسيطات. سيسمح ذلك بإنشاء عدسات الكاميرا بدون أيTransformationInfo، والتي سيتم ضبطها تلقائيًا على دوران المصدر بمقدار 0، وبدون عكس المصدر، وبدون مستطيل اقتصاص. (I2b1b2) - تتلقّى الآن عدسة الكاميرا المستندة إلى Compose تعبير لامدا في النهاية لتلقّي جلسة مساحة عرض، على غرار
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) - تمت إضافة واجهات برمجة تطبيقات جديدة إلى عدسة الكاميرا المستندة إلى العرض تسمح بضبط دوران المصدر وعكسه ومستطيل الاقتصاص. فئة
TransformationInfoهذه هي نفسها التي تستخدمها عدسة الكاميرا المستندة إلى Compose. (I907c3) - تستخدم الآن عدسة الكاميرا المستندة إلى العرض واجهات برمجة تطبيقات
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 التوضيحية بشأن القيم الخالية، وهي تعليقات من نوع type-use. على مطوّري 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 مع العروض.