عدسة الكاميرا

  
شاشة عرض مستقلة قابلة للتركيب والعرض المستند إلى الكاميرا

يسرد هذا الجدول جميع العناصر في مجموعة androidx.camera-viewfinder.

العناصر الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأولي
viewfinder-compose - - 1.5.0-beta01 1.4.0-alpha13
viewfinder-core - - 1.5.0-beta01 1.4.0-alpha13
viewfinder-view - - 1.5.0-beta01 1.4.0-alpha13
تاريخ آخر تعديل على هذه المكتبة: 7 أيار (مايو) 2025

تحديد التبعيات

لإضافة تبعية على كاميرا عدسة الكاميرا، عليك إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف التبعيات للعناصر التي تحتاج إليها في ملف build.gradle ل تطبيقك أو وحدتك:

رائع

dependencies {
    // Use to implement camera viewfinders
    
    implementation "androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01"
    implementation "androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01"
    implementation "androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01"

}

Kotlin

dependencies {
    // Use to implement camera viewfinders
    implementation("androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01")
    implementation("androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01")
    implementation("androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01")


}

لمزيد من المعلومات عن العناصر الاعتمادية، اطّلِع على مقالة إضافة عناصر الاعتماد الخاصة بالإصدار.

الملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا واجهت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء مشكلة جديدة

اطّلِع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.

الإصدار 1.5

الإصدار 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. إذا كنت تبحث عن عرض أو عنصر قابل للتركيب لاستخدامه مع CameraX، اطّلِع على PreviewView وCameraXViewfinder.

الميزات الجديدة

  • يمكن الآن استخدام ContentScale وAlignment في عدسة الكاميرا المستندة إلى الإنشاء لتغيير حجم المساحة المعروضة ووضعها داخل الحاوية، تمامًا مثل سلوك androidx.compose.foundation.Image. (Ibcea3)

تغييرات واجهة برمجة التطبيقات

  • تحتوي TransformationInfo الآن على قيم تلقائية لجميع الوسيطات. سيسمح ذلك بإنشاء عدسات بحث بدون أي TransformationInfo، ما سيؤدي تلقائيًا إلى ضبط دوران المصدر على 0، وعدم عكس المصدر، وعدم اقتصاص مستطيل. (I2b1b2)
  • يأخذ "مخطّط العرض القابل للتجميع" الآن متغيّر lambda متأخرًا لتلقّي جلسة Surface، مثل AndroidExternalSurface. تستخدِم دالة lambda المقدَّمة ViewfinderInitScope كمستلِم، ما يسمح بتثبيت ردّ اتصال لتلقّي جلسات Surface الجديدة. وتُطلق جلسات العرض هذه تلقائيًا الموارد التي يحتفظ بها "مخطّط العرض" عندما تخرج عن النطاق. (Ib2b0d)
  • تمّت إزالة ViewfinderSurfaceRequest.Builder.populateFromCharacteristics وتم استبدالها الآن بمجموعة مكافئة من واجهات برمجة التطبيقات الثابتة التي يمكن استخدامها لإنشاء TransformationInfo التي ستؤدي إلى إجراء التحويل نفسه الذي يؤديه populateFromCharacteristics. تتم إضافة هذه الطرق الثابتة إلى فئة Camera2TransformationInfo. (Idc6af)
  • لم تعُد ViewfinderSurfaceRequest تتضمّن واجهات برمجة تطبيقات غير متزامنة لاسترداد المساحة. أصبح الآن نوع بيانات غير قابل للتغيير. تم نقل واجهات برمجة التطبيقات لاسترداد السطح إلى عدسة الكاميرا. (I30127)
  • تمت إعادة تسمية CameraViewfinder إلى ViewfinderView حتى تتوافق التسمية مع تسمية عنصر "منظار الكاميرا" القابل للتجميع، وللإشارة إلى أنّه يمكن استخدامه مع مصادر أخرى غير مصادر الكاميرا. (Id9e6b)
  • تم نقل الفئات من viewfinder-view إلى الحزمة الفرعية androidx.camera.viewfinder.view من الحزمة androidx.camera.viewfinder. (I6cb44)
  • تمت إضافة واجهات برمجة تطبيقات جديدة إلى "عدسة الكاميرا" المستندة إلى العرض، والتي تتيح ضبط دوران المصدر، وعكسه، ومستطيل الاقتصاص. فئة TransformationInfo هذه هي الفئة نفسها المستخدَمة في "عدسة الكاميرا" المستندة إلى الإنشاء. (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 القديمة لتطبيق Viewfinder أي تعديلات.

بالإضافة إلى ذلك، إذا كنت تستخدم Compose مع CameraX، تتوفّر الآن مكتبة جديدة مخصّصة لاستخدام Compose في الإصدار التجريبي: androidx.camera:camera-compose. يقدّم هذا الإجراء CameraXViewfinder القابل للتركيب، وهو عبارة عن عدسة بحث مناسبة لميزة "الإنشاء" تُعدّل SurfaceRequest في CameraX لتتوافق مع ميزة "الإنشاء"، تمامًا مثل طريقة عمل PreviewView مع المشاهد.