عدسة الكاميرا
يسرد هذا الجدول جميع العناصر في المجموعة androidx.camera-viewfinder
.
العناصر | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
---|---|---|---|---|
viewfinder-compose | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
viewfinder-core | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
عرض عدسة الكاميرا | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
تعريف التبعيات
لإضافة تبعية على camera-viewfinder، يجب إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف التبعيات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle
لتطبيقك أو وحدتك:
رائع
dependencies { // Use to implement camera viewfinders implementation "androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03" implementation "androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03" implementation "androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03") implementation("androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03") implementation("androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03") }
لمزيد من المعلومات حول العناصر التابعة، يُرجى الاطّلاع على إضافة عناصر تابعة للإنشاء.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
الإصدار 1.5
الإصدار 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 (في واجهة برمجة التطبيقات المستندة إلى المشاهدة). (Iecd3a) - تم تحسين إدارة جلسات Surface من خلال السماح بإبقاء
ViewfinderSurfaceSession
نشطًا طوال دورات حياة إنشاء/إيقاف Surface عند استخدام TextureView أو SurfaceView على الإصدار 29 من واجهة برمجة التطبيقات أو الإصدارات الأحدث. (I112d9) - يضمن
Viewfinder
الآن إيقاف "اللوحات" في الوقت المناسب، أي عندما لا تستخدمها الجلسة، بدلاً من إيقافها دائمًا عند التخلص من العنصر القابل للإنشاء. بالنسبة إلىEXTERNAL
(SurfaceView
)، لا يتوفّر هذا السلوك حاليًا إلا على المستوى 29 من واجهة برمجة التطبيقات أو أعلى. أما بالنسبة إلىEMBEDDED
(TextureView
)، فيتوفّر هذا السلوك على جميع مستويات واجهة برمجة التطبيقات. (I9a03f) - تعمل السمة
Viewfinder
الآن بشكل صحيح على معالجة استبدال السطح في سيناريوهات مثل عندما يخرج إطار العرضEXTERNAL
في المستوى 28 من واجهة برمجة التطبيقات أو الإصدارات الأقدم من الشاشة أو إذا كانت السمةViewfinder
(مع أيImplementationMode
) جزءًا منmoveableContentOf()
. (I79432) - تعمل
Viewfinder
القابلة للإنشاء الآن بشكلٍ صحيح معPager
في Compose. يضمن هذا التغيير إمكانية إعادة ضبط Composable بنجاح من خلال تنفيذ معاودة الاتصالonReset
الخاصة بـAndroidView
، ما يتيح استخدام كل من عمليات التنفيذEMBEDDED
وEXTERNAL
. (I0d9be) - تم إصلاح مشكلة في نظام التشغيل Android 10 أو 11 حيث يمكن أن يظهر
EXTERNAL
Viewfinder
ممدودًا أو غير صحيح بسبب تطبيق عمليات التحويل (مثل تغيير الحجم أو الترجمة) في وقت مبكر جدًا. ينتظر النظام الآن إنشاء Surface قبل تطبيق عمليات التحويل هذه في مرحلة التنسيق، ما يضمن الحصول على الناتج الصحيح. (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 على عمليات الإيداع هذه.
- هذا هو أول إصدار تجريبي رسمي من أدوات البحث عن الصور المستندة إلى العرض والمركّبة، وهي مرنة بما يكفي لاستخدامها مع Camera2. إذا كنت تبحث عن View أو عنصر قابل للإنشاء لاستخدامه مع CameraX، يمكنك الاطّلاع على
PreviewView
وCameraXViewfinder
.
الميزات الجديدة
- يمكن الآن استخدام
ContentScale
وAlignment
في عدسة الكاميرا المستندة إلى Compose لتغيير حجم السطح المعروض ووضعه داخل الحاوية، على غرار طريقة عملandroidx.compose.foundation.Image
. (Ibcea3)
تغييرات واجهة برمجة التطبيقات
- يتضمّن
TransformationInfo
الآن قيمًا تلقائية لجميع الوسيطات. سيسمح ذلك بإنشاء أدوات Viewfinder بدون أيTransformationInfo
، وسيتم ضبطها تلقائيًا على تدوير المصدر بمقدار 0، وبدون عكس المصدر، وبدون مستطيل اقتصاص. (I2b1b2) - تتلقّى أداة Composable Viewfinder الآن تعبير lambda لاحقًا لتلقّي جلسة Surface، على غرار
AndroidExternalSurface
. تستخدِم دالة lambda المقدَّمةViewfinderInitScope
كعنصر مستقبِل، ما يتيح تثبيت دالة ردّ الاتصال لتلقّي جلسات Surface جديدة. تؤدي جلسات العرض على السطح هذه إلى تحرير الموارد التي يحتفظ بها "منظار العرض" تلقائيًا عندما تخرج عن النطاق. (Ib2b0d) - تمت إزالة
ViewfinderSurfaceRequest.Builder.populateFromCharacteristics
الآن واستبدالها بمجموعة مكافئة من واجهات برمجة التطبيقات الثابتة التي يمكن استخدامها لإنشاءTransformationInfo
، ما سيؤدي إلى إجراء عملية التحويل نفسها التي تجريهاpopulateFromCharacteristics
. تتم إضافة هذه الطرق الثابتة إلى الفئةCamera2TransformationInfo
. (Idc6af) - لم يعُد
ViewfinderSurfaceRequest
يتضمّن واجهات برمجة تطبيقات غير متزامنة لاسترداد مساحة العرض. أصبح الآن نوع بيانات غير قابل للتغيير. تم الآن نقل واجهات برمجة التطبيقات الخاصة باسترداد Surface إلى عدسة الكاميرا. (I30127) - تمت إعادة تسمية
CameraViewfinder
إلىViewfinderView
ليتوافق الاسم مع اسم العنصر القابل للإنشاء Viewfinder، وللإشارة إلى أنّه يمكن استخدامه مع أكثر من مجرد مصادر الكاميرا. (Id9e6b) - تم نقل الفئات من
viewfinder-view
إلى الحزمة الفرعيةandroidx.camera.viewfinder.view
من الحزمةandroidx.camera.viewfinder
. (I6cb44) - تمت إضافة واجهات برمجة تطبيقات جديدة إلى ميزة "نافذة العرض" المستندة إلى العرض، ما يتيح ضبط تدوير المصدر وعكسه ومستطيل الاقتصاص. فئة
TransformationInfo
هذه هي الفئة نفسها التي يستخدمها تطبيق "منظار البحث" المستند إلى Compose. (I907c3) - يستخدم تطبيق "منظار البحث" المستند إلى العرض الآن واجهات برمجة تطبيقات
ViewfinderSurfaceRequest
جديدة لم تعُد تعالج استجابة Surface داخليًا. بدلاً من عرض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
ليتم إعادة استخدامه مع ميزة "إنشاء" (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-view
androidx.camera:camera-viewfinder-compose
->androidx.camera.viewfinder:viewfinder-compose
androidx.camera:camera-viewfinder-core
->androidx.camera.viewfinder:viewfinder-core
لن تحتاج إلى إجراء أي تغييرات على الرموز البرمجية لإجراء عملية النقل هذه. لن تتلقّى إحداثيات Maven القديمة الخاصة بأداة "البحث المرئي" أي تحديثات بعد الآن.
بالإضافة إلى ذلك، إذا كنت تستخدم Compose مع CameraX، تتوفّر الآن مكتبة جديدة تستند إلى Compose في الإصدار الأوّلي: androidx.camera:camera-compose
. يوفر ذلك العنصر CameraXViewfinder
القابل للإنشاء، وهو أداة Viewfinder متوافقة مع Compose وتتكيّف مع SurfaceRequest
في CameraX، على غرار طريقة عمل PreviewView
مع طرق العرض.