עינית המצלמה

  
רכיב עין המצלמה עצמאי שניתן לשילוב ולצפייה בתמונה"

בטבלה הזו מפורטים כל הארטיפקטים בקבוצה androidx.camera-viewfinder.

פריט מידע שנוצר בתהליך פיתוח (Artifact) גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
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

הצהרת יחסי תלות

כדי להוסיף תלות ב-camera-viewfinder, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאגר Maven של Google.

מוסיפים את יחסי התלות של הארטיפקטים הנדרשים בקובץ build.gradle של האפליקציה או המודול:

Groovy

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")


}

מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ל-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה הזו, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.

דיווח על בעיה חדשה

מידע נוסף זמין במסמכי התיעוד של Issue Tracker.

גירסה 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. אם אתם מחפשים View או רכיב מורכב לשימוש עם CameraX, תוכלו לעיין במאמרים PreviewView ו-CameraXViewfinder.

תכונות חדשות

  • עכשיו אפשר להשתמש במקשות ContentScale ו-Alignment במסך הראייה מבוסס-העריכה כדי לשנות את הגודל של שטח התצוגה ולמקם אותו בתוך המארז שלו, בדומה לאופן שבו פועל המקש androidx.compose.foundation.Image. (Ibcea3)

שינויים ב-API

  • עכשיו יש ל-TransformationInfo ערכי ברירת מחדל לכל הארגומנטים. כך תוכלו ליצור עיניות בלי TransformationInfo, והן יוגדרו כברירת מחדל עם סיבוב מקור של 0, ללא שיקוף מקור וללא חיתוך ריבוע. (I2b1b2)
  • פונקציית Composable Viewfinder מקבלת עכשיו פונקציית lambda עוקבת כדי לקבל סשן Surface, בדומה ל-AndroidExternalSurface. פונקציית ה-lambda שסופקה משתמשת ב-ViewfinderInitScope כמקלט, שמאפשר להתקין קריאה חוזרת (callback) כדי לקבל סשנים חדשים ב-Surface. סשנים כאלה משוחררים באופן אוטומטי מהמשאבים שנמצאים בחזקת חלון התצוגה כאשר הם יוצאים מההיקף. (Ib2b0d)
  • ViewfinderSurfaceRequest.Builder.populateFromCharacteristics הוסר ועכשיו הוא מוחלף בקבוצה מקבילה של ממשקי API סטטיים שאפשר להשתמש בהם כדי ליצור את TransformationInfo, שיניב את אותה טרנספורמציה כמו populateFromCharacteristics. השיטות הסטטיות האלה מתווספות לכיתה Camera2TransformationInfo. (Idc6af)
  • ViewfinderSurfaceRequest לא כולל יותר ממשקי API אסינכררוניים לאחזור הממשק. עכשיו זהו סוג נתונים שלא ניתן לשינוי. ממשקי ה-API לאחזור של Surface הועברו עכשיו למראת המצלמה. (I30127)
  • השם של CameraViewfinder השתנה ל-ViewfinderView כדי להתאים לשם של הרכיב הניתן לקישור של 'עינית המצלמה', וכדי לציין שאפשר להשתמש בו עם מקורות נוספים מלבד מצלמות. (Id9e6b)
  • הכיתות מ-viewfinder-view הועברו לחבילת המשנה androidx.camera.viewfinder.view מחבילת androidx.camera.viewfinder. (I6cb44)
  • נוספו ממשקי API חדשים לעינית המבוססת על התצוגה, שמאפשרים להגדיר את סיבוב המקור, את ההיפוך ואת מלבן החיתוך. הכיתה TransformationInfo היא אותה כיתה שבה משתמשים ב-Viewfinder שמבוסס על ה-Compose. (I907c3)
  • חלונית התצוגה המקדימה מבוססת-התצוגה משתמשת עכשיו בממשקי API חדשים של ViewfinderSurfaceRequest, שכבר לא מטפלים באופן פנימי בתגובה של Surface. במקום להחזיר את ListenableFuture<Surface>, ממשקי ה-API של requestSurfaceSession() מחזירים עכשיו את ListenableFuture<ViewfinderSurfaceSession>, שמחזיר את הכיתה AutoCloseable. כשהיא סגורה, היא מתנהגת באותו אופן כמו קריאה ל-API הישן של 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 מאפשר שימוש ב-API שקשור ל-Android 15. אפליקציות שמשתמשות בספריות של CameraX יצטרכו גם לשדרג את הגדרת התצורה compileSdk. (Ic80cd)
  • הספרייה הזו משתמשת עכשיו בהערות של JSpecify לגבי ערכים null, שהן שימוש בסוג. מפתחי 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 מכילה את ההוספות האלה.

שינויים ב-API

  • הכיתות של viewfinder-core הועברו לחבילות שתואמות לספרייה שהן שייכות אליה. (I431c6)
  • המכשיר CameraViewfinder.ScaleType הועבר ליחידה הארגונית viewfinder-core כדי שניתן יהיה לעשות בו שימוש חוזר באמצעות compose (I87ef1)
  • כיתות CameraViewfinder שהוצאו משימוש יוסרו. יש להשתמש בממשקי ה-API החדשים שמספקים פונקציונליות דומה. (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, פריט המידע שנוצר בתהליך הפיתוח (artifact) של חלון הצפייה של 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

לא אמורים להיות שינויים בקוד שצריך לבצע כדי לבצע את המעבר הזה. לא יתקבלו יותר עדכונים לקואורדינטות הישנות של Maven ב-Viewfinder.

בנוסף, אם אתם משתמשים ב-Compose עם CameraX, ספרייה חדשה של Compose-first זמינה עכשיו בגרסת אלפא: androidx.camera:camera-compose. כך מקבלים את ה-composable‏ CameraXViewfinder, שהוא רכיב Viewfinder שמותאם ל-Compose ומשתמש ב-SurfaceRequest של CameraX ב-Compose, בדומה לאופן שבו PreviewView פועל בתצוגות.