עינית המצלמה
בטבלה הזו מפורטים כל פריטי המידע בקבוצה androidx.camera-viewfinder
.
פריט מידע שנוצר בתהליך פיתוח (Artifact) | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
---|---|---|---|---|
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
של האפליקציה או המודול:
Groovy
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") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ב-Build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לשמוע מכם אם תגלו בעיות חדשות או אם יש לכם רעיונות לשיפור הספרייה הזו. לפני שיוצרים ספרייה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להוסיף את ההצבעה שלכם לבעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא כלי המעקב אחר בעיות.
גירסה 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
(לתאימות ב-API ישנים יותר או במכשירים מוזרים). אפשר לשנות את ההתנהגות הזו באמצעות הגדרות מפורשות ב-ViewfinderSurfaceRequest
או מאפייני XML (ב-API מבוסס-הצפיות). (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
פועלת עכשיו בצורה תקינה עם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 או 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
. השיטות הסטטיות האלה מתווספות למחלקה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) - הספרייה הזו משתמשת עכשיו בהערות לגבי ערכי null של 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 מכילה את הקומטים האלה.
שינויים ב-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, פריט המידע שנוצר בתהליך פיתוח (Artifact) של 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-first זמינה עכשיו בגרסת אלפא: androidx.camera:camera-compose
. הספרייה מספקת את רכיב ה-CameraXViewfinder
, שהוא רכיב Viewfinder שניתן להרכבה ומתאים ל-Compose, ומאפשר להשתמש ב-SurfaceRequest
של CameraX ב-Compose, בדומה לאופן שבו PreviewView
פועל בתצוגות.