עינית המצלמה

  
מכוון מטרה עצמאי מבוסס-תצוגה עבור מצלמה"

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

פריט מידע שנוצר בתהליך פיתוח (Artifact) גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
viewfinder-compose 1.5.3 - ‎1.6.0-beta02 -
viewfinder-core 1.5.3 - ‎1.6.0-beta02 -
תצוגה של העינית 1.5.3 - ‎1.6.0-beta02 -
הספרייה הזו עודכנה לאחרונה ב-11 בפברואר 2026

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

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

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

Groovy

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

}

Kotlin

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


}

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

משוב

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

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

גרסה 1.6

גרסה ‎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 מכילה את השמירות האלה.

שינויים ב-API

  • הצגנו את ברירת המחדל של העינית ImplementationMode באמצעות ה-API הציבורי החדש ViewfinderDefaults.implementationMode. ההגדרה הזו משמשת עכשיו כברירת מחדל גם עבור ViewfinderView וגם עבור הרכיב שאפשר להרכיב Viewfinder. (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, שמספקת ממשקי API חזקים, מודעים למחזור החיים וקלים לשימוש שמבוססים על View ו-Compose. הרכיבים האלה מיועדים לשמש כעינית של מצלמה, ואפשר לשלב אותם ישירות עם Camera2.

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

  • העברה של ארטיפקטים: כדי לשפר את המודולריות, הארטיפקטים של Viewfinder הועברו לקבוצת ספרייה משלהם. מפתחים שהשתמשו בעבר בתלות של androidx.camera:camera-viewfinder* צריכים לעבור ל-androidx.camera.viewfinder:viewfinder-*.
  • ייצוב ושיפורים של ה-API: ממשק ה-API עבר ליטוש לקראת הגרסה היציבה הזו. השינויים כוללים שינוי השם של CameraViewfinder ל-ViewfinderView כדי לשקף טוב יותר את הרבגוניות שלו, ארגון מחדש של חבילות כדי לשפר את הבהירות והפיכת ViewfinderSurfaceRequest לסוג נתונים בלתי משתנה כדי לשפר את הניהול של מצבים צפויים.
  • עדכונים ב-Compose API: ה-API של Compose Viewfinder תומך עכשיו ב-ContentScale וב-Alignment כדי לאפשר שליטה מדויקת באופן שבו זרם המצלמה מוצג בתוך הקונטיינר שלו, ומשקף את ההתנהגות של הרכיב הניתן להרכבה androidx.compose.foundation.Image.
  • ניהול מחזור החיים של Surface: ViewfinderSurfaceSession ממשיך לפעול גם אחרי שינויים בהגדרות ואירועים במחזור החיים ב-API 29 ומעלה. השינוי הזה נועד לצמצם את מספר הפריימים שנשמטים ולספק חוויית משתמש חלקה יותר.
  • ברירות מחדל של מצב ההטמעה: Viewfinder מוגדר עכשיו כברירת מחדל כImplementationMode חכם שבוחר באופן אוטומטי את ההטמעה הבסיסית הטובה ביותר. הוא נותן עדיפות ל-SurfaceView (מצב EXTERNAL) שמניב ביצועים טובים, ובמקרים של רמות API ישנות יותר או מכשירים עם בעיות תאימות ידועות, הוא עובר בצורה חלקה ל-TextureView (מצב EMBEDDED) שתואם יותר. עדיין אפשר לבטל את ההתנהגות הזו כדי להעניק למפתחים שליטה מלאה.

תיקוני באגים

  • ה-Composable‏ Viewfinder פועל עכשיו בצורה תקינה בתוך Pager של Compose ועם movableContentOf(), וכך מבטיח שהמשטח יאופס וינוהל בצורה תקינה בתרחישי ממשק משתמש מורכבים. (I0d9be, I79432)
  • תוקנה בעיה ב-Android 10 וב-Android 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 מכילה את השמירות האלה.

תיקוני באגים

גרסה ‎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 (לתאימות בגרסאות קודמות של API או במכשירים מוזרים). אפשר לשנות את ההתנהגות הזו באמצעות הגדרות מפורשות ב-ViewfinderSurfaceRequest או מאפייני XML (ב-API שמבוסס על View). (Iecd3a)
  • שיפור הניהול של סשנים ב-Surface על ידי שמירת ViewfinderSurfaceSession פעיל לאורך מחזורי החיים של יצירה/הסרה של Surface כשמשתמשים ב-TextureView או ב-SurfaceView ב-API 29 ומעלה. (I112d9)
  • ה-Viewfinder מוודא עכשיו שה-Surfaces ישוחררו בזמן הנכון, רק כשהסשן כבר לא משתמש בהם, ולא ישוחררו תמיד כשה-Composable מושמד. ב-EXTERNAL (SurfaceView) ההתנהגות הזו זמינה כרגע רק ב-API 29 ומעלה. ב-EMBEDDED (TextureView) ההתנהגות הזו קיימת בכל רמות ה-API. (I9a03f)
  • ה-Viewfinder מטפל עכשיו בצורה נכונה בהחלפת משטח בתרחישים כמו כשמכוון המצלמה EXTERNAL ברמת API 28 ומטה יוצא מהמסך, או אם Viewfinder (עם ImplementationMode כלשהו) הוא חלק מ-moveableContentOf(). (I79432)
  • ‫Composable Viewfinder פועל עכשיו בצורה תקינה עם Compose Pager. השינוי הזה מבטיח שאפשר לאפס את ה-Composable בהצלחה על ידי הטמעה של הקריאה החוזרת (callback) 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 או composable לשימוש עם CameraX, כדאי לעיין במאמרים בנושא PreviewView ו-CameraXViewfinder.

תכונות חדשות

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

שינויים ב-API

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

לא צריך לבצע שינויים בקוד כדי לעבור לגרסה החדשה. הקואורדינטות הישנות של Viewfinder maven לא יקבלו יותר עדכונים.

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