Jetpack פיתוח נייטיב ל-XR
| העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| 6 במאי 2026 | - | - | - | 1.0.0-alpha13 |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-XR Compose, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.
אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
מגניב
dependencies { implementation "androidx.xr.compose:compose:1.0.0-alpha13" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-alpha13" }
Kotlin
dependencies { implementation("androidx.xr.compose:compose:1.0.0-alpha13") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-alpha13") }
מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.
גירסה 1.0
גרסה 1.0.0-alpha13
6 במאי 2026
androidx.xr.compose:compose:1.0.0-alpha13 וגם androidx.xr.compose:compose-testing:1.0.0-alpha13 מופצים. גרסה 1.0.0-alpha13 מכילה את השמירות האלה.
שינויים ב-API
- ממשק ה-API של Orbiter נמצא בהמתנה לשינויים נוספים, לכן מומלץ להסתיר את הודעות ההוצאה משימוש של Orbiters ולעקוב אחרי שינויים ב-Orbiter בגרסאות הקרובות.
- משתמשים ב-
SceneCoreEntityכדי לעבד קובצי glTF צריכים לוודא שהם מעבירים אתsession.scene.activitySpaceלפרמטרparentשל הקריאה ל-GltfModel.createכדי להבטיח שקובצי ה-glTF יעובדו. - הוספנו את
SpatialGltfModelAPI כדי לאפשר למפתחים להוסיף קובצי Gltf לאפליקציות שלהם ב-Compose For XR. מפתחים יכולים גם לשלוח שאילתות לגבי אנימציות וצמתים בתוך מודלים של Gltf. (I8b542, b/495422586) - שינויים
SceneCoreEntitySizeAdapterממחלקה לממשק (I5a784, b/475292310) - השם של
SurfaceProtectionשונה ל-SpatialExternalSurfaceProtection. עדכון שלSpatialExternalSurfaceמסמכי kdocs (Ifad0a, b/485231082) - הוצאה משימוש של
currentWindowAdaptiveInfoוהשקת גרסה 2 שלו (I40ecf, b/424442112) - המשנה
resizableהוא עכשיו ציבורי ורלוונטי לקבוצות (לדוגמה,SpatialRow). (I2bcf6, b/348483527, b/489753178, b/479530787) - המשנה
movableזמין עכשיו לכולם. המשנה הזה פועל היטב כרגע עבורSpatialPanelsו-SpatialExternalSurface, אבל המטרה היא שהוא יתמוך היטב בכלSubspaceComposables. (I9a3cd, b/479530787, b/478935063, b/478935063) -
SpatialEnterTransitionו-SpatialExitTransitionמסומנים כ-@Immutable(If1710, b/487757837) - ממשק ה-API
SpatialGltfModelמסומן כמוגבל בגרסה הזו, עד שנבצע בדיקות נוספות. (Ibf003, b/466090694) - השם
DeviceTrackingMode.LAST_KNOWNהוחלף ל-SPATIAL_LAST_KNOWN(עם חזרה לערך ברירת מחדל שהוצא משימוש), נוסףINERTIAL_LAST_KNOWNלמעקב 3DoF, ונוסףTRACKING_DEGRADEDל-TrackingState. (Ie661c, b/445466590) - הסרה של
SpatialLayoutSpacer(I7b36c) שהוצא משימוש - הסרת API של padding שהוצא משימוש (If1886)
- הוספנו
floatRangeלערכי ההטיה. הוסר ערך ברירת מחדל שלLayoutDirection(I9d74e)
תיקוני באגים
- נוספו דוגמאות קוד ומסמכי KDoc ל-
SpatialColumn,SpatialRowו-SpatialCurvedRow. (Iaf54f, b/495777633)
גרסה 1.0.0-alpha12
25 במרץ 2026
androidx.xr.compose:compose:1.0.0-alpha12 וגם androidx.xr.compose:compose-testing:1.0.0-alpha12 מופצים. גרסה 1.0.0-alpha12 מכילה את השמירות האלה.
שינויים ב-API
- מוסיפים את
SpatialGltfModelAPI ואת ממשקיSpatialGltfModelAnimationAPI כדי לעבד קובצי glTF ולשלוט באנימציות. השינוי מ-SpatialGltfModelStateל-AutoCloseable, עכשיו צריך לסגור אותו כדי לפנות את המשאבים שלו. (I11fde, b/466065486, b/481379924). עם זאת, ה-APISpatialGltfModelמסומן כמוגבל בגרסה הזו עד לבדיקות נוספות. (Ibf003, b/466090694) - נוספה פונקציית עומס יתר ריקה שהוצאה משימוש בשביל
SubspaceModifier.rotate. (Idceb6) - הפונקציה
SpatialSmoothFeatheringEffectקיבלה את השםspatialSmoothFeatheringEffectוהועברה למודול ציור. ערך ברירת המחדל של טשטוש הקצוותSpatialExternalSurfaceעודכן ל-null, שמשחזר את הפונקציונליות הישנה של ZeroFeatheringEffect. (I5fdaa, b/460426800) - בוצעה הסרה של
onPointSourceParamsAvailable. בקרוב יהיה זמין API אחר של אודיו מרחבי. (I86507, b/458513439) - הוספנו התנהגות RTL למשנים של מרחב משנה להיסט. נוסף גם
absoluteOffsetכדי להתעלם מכיוון הפריסה. (I30e4b, b/474409165)
גרסה 1.0.0-alpha11
25 בפברואר 2026
androidx.xr.compose:compose:1.0.0-alpha11 וגם androidx.xr.compose:compose-testing:1.0.0-alpha11 מופצים. גרסה 1.0.0-alpha11 מכילה את השמירות האלה.
תכונות חדשות
- הוספת הפרמטר
SuperSamplingאלSpatialExternalSurfaces(Icd4d1)
בעיות מוכרות
- בעיה ב-
SurfaceEntityב-SceneCore עלולה לגרום לקריסת אפליקציות כשיוצרים מופעים שלSpatialExternalSurface. הבעיה הזו נפתרה בגרסאותandroidx.xr.scenecore:scenecore-*:1.0.0-alpha13ו-androidx.xr.compose:compose:1.0.0-alpha12ובגרסאות שבאו אחריהן. צריך לעדכן את האפליקציות המושפעות לגרסאות האחרונות.
שינויים ב-API
- שינויים ב-padding של משנה המרחב המשני כדי להתאים לכיוון הפריסה. (I53e25)
- התקופה של
SpatialCapabilitiesהסתיימה ואי אפשר להאריך אותה. (I07aef) - ממשקי ה-API
SpatialRowו-SpatialColumnשמקבלים פרמטר כלליSpatialAlignmentהוצאו משימוש. במקומם, צריך להשתמש בממשקי ה-API שמקבלים את הפרמטריםverticalAlignmentאוhorizontalAlignmentעבורSpatialRowו-SpatialColumn, בהתאמה. (Iec390) - שילוב של ממשקי API של פונקציות עם עומס יתר
SubspaceLayout(Idd30a) - השם של
SubspaceModifier.lookAtUserשונה ל-rotateToLookAtUser, והפרמטרupשונה ל-upDirection. (Icafb8) - הפיכת
SpatialRowלפונקציה מוטבעת (Ia2f20) - הפיכת
SpatialColumnלפונקציה מוטמעת (I681be) - הוסר billboard API (Ib76cd)
גרסה 1.0.0-alpha10
28 בינואר 2026
androidx.xr.compose:compose:1.0.0-alpha10 וגם androidx.xr.compose:compose-testing:1.0.0-alpha10 מופצים. גרסה 1.0.0-alpha10 מכילה את השמירות האלה.
שינויים ב-API
- הסרת API שיצא משימוש –
ApplicationSubspace(Ia6596, b/468345186) - העדכון של
SpatialShapeלממשק אטום (I7e3f5, b/460426800) - הסרת ממשקי API שהוצאו משימוש ב-
SpatialAlignment. (Ib0b61, b/468011887) - הוצאה משימוש של
SpatialLayoutSpacerוהשקה שלSpatialSpacer. (I2ebf3, b/466071383) - ה-API של
UserSubspaceעודכן כדי להחליף את המונח 'נעילה עצלה' במונח 'נעילה רכה'. (I9ded1, b/464035984)
גרסה 1.0.0-alpha09
3 בדצמבר 2025
androidx.xr.compose:compose:1.0.0-alpha09 וגם androidx.xr.compose:compose-testing:1.0.0-alpha09 מופצים. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.
שינויים ב-API
- הוספת משני
LookAtUserו-Billboard שמאפשרים לתוכן להיות תמיד מול המשתמש. (I49b99) - הוספת היכולת להגדיר
InteractionPolicyל-SpatialExternalSurfacesול-SpatialPanels, כדי לאפשר זיהוי של קליקים ואירועי קלט אחרים בתלת-ממד. (Iae155) - נוספו עומס יתר של משנה הגודל
requiredSizeעם רוחב, גובה ועומק כערכי Dp. (I92f79) - הממשק של
ParentLayoutParamsModifierמתרחב עכשיו ל-DelegatableSubspaceNode. (I1a6d4) - הוצאנו משימוש את
ApplicationSubspaceוהחלפנו אותו ב-Subspace API.- התנהגות ה-API של Subspace השתנתה כך שהוא מספק רק מרחב משנה ברמת האפליקציה בתנוחה ובקנה מידה המומלצים.
- השקנו את
PlanarEmbeddedSubspaceAPI כדי לספק מרחבי משנה מוטמעים בהקשרים דו-ממדיים. (Id3343)
- הוספנו את הדגל
shouldAutoInvalidateל-APISubspaceModifier.Node. (I93902) - נוסף
required(Size|Width|Depth|Height)בממשקי API שמאפשרים למפתחים להגביל את הגודל של@SubspaceComposableלטווח מסוים, בלי להתחשב בהגבלות המדידה הנכנסות של רכיב האב. (Ifaa78) - הוספנו את
SubspaceModifier.onSizeChanged, שמאפשר למפתחים להגיב בקלות ובאופן ממוקד לשינוי בגודל של@SubspaceComposable. (I994f9) - הסרנו את Volume API. צריך להשתמש ב-
SceneCoreEntityAPI במקום ב-Volume API. (I4162b) - פיצול של
SubspaceLayoutModifierNode.requestRelayoutל-invalidateMeasurement/invalidatePlacement. (I14805) - הוספנו את
SpatialGltfModelAPI שמאפשר למפתחים לעבד קובצי glTF ב-Compose. (Icc91f) - השקנו את
SpatialGltfModelcomposable API להצגת glTF בקלות (Iade67)
תיקוני באגים
- תוקן באג בפריסה ב-
SceneCoreEntity. הוא אמור לפעול עכשיו בהתאם למגבלות. (I11bb8) - הורדת מודולים של jxr-compose ל-
Compile sdk = 34(I2d5db)
גרסה 1.0.0-alpha08
22 באוקטובר 2025
androidx.xr.compose:compose:1.0.0-alpha08 וגם androidx.xr.compose:compose-testing:1.0.0-alpha08 מופצים. גרסה 1.0.0-alpha08 מכילה את השמירות האלה.
שינויים ב-API
- הערך של
ResizePolicyהשתנה ל-onResizeStart,onResizeUpdateו-onResizeEnd. (I7e21f)
תיקוני באגים
- מניעת קריסה בהשמדת פעילות עם מרחב משנה. (I595a1)
גרסה 1.0.0-alpha07
24 בספטמבר 2025
androidx.xr.compose:compose:1.0.0-alpha07 וגם androidx.xr.compose:compose-testing:1.0.0-alpha07 מופצים. גרסה 1.0.0-alpha07 מכילה את השמירות האלה.
שינויים ב-API
- שיפרנו את מסמכי KDocs עבור
SpatialMainPanel. (I27b70, b/444467891) - הוספנו את
SpatialArrangementלסידור של רכיבי צאצא לאורך הציר הראשי בפריסות תלת-ממדיות כמוSpatialRowו-SpatialColumn. ממשק ה-API החדש הזה מספק אפשרויות מוכרות לסידור מ-2D Compose, כוללStart,End,Center,SpaceBetween,SpaceAroundו-SpaceEvenly, עם תמיכה מלאה בפריסות משמאל לימין ומימין לשמאל. (I7db38, b/436289959) - הוספנו ממשק בסיסי ל-
SubspaceModifier.Nodeכדי לשפר את מניעת שגיאות הקלדה ואת נוחות השימוש של ממשקי הרחבות, כמוCompositionLocalConsumerSubspaceModifierNodeLayoutCoordinatesAwareModifierNodeSubspaceLayoutModifierNode-
CoreEntityNode(internal) (Iede00, b/440599394, b/440599394)
- ביטול ההגבלה
SpatialExternalSurface(I33315, b/439646773) - הוספת
SubspaceModifierלרכיבים הניתנים להרכבה של Subspace והחלפת פרמטר האילוציםSubspaceModifierב-SubspaceModifierעםSubspaceModifiersשקשור לגודל. אםallowUnboundedSubspaceמוגדר כ-True, עדיין יכולות להיות הגבלות לא מוגבלות במרחבי משנה. (Ib06e6, b/433331675) - הוצאנו משימוש את הפונקציות
SubspaceModifiersשאפשר להזיז ולשנות את הגודל שלהן, ועכשיו הפונקציותDragPolicy()ו-ResizePolicy()הן חלק מממשקיSpatialPanelו-SpatialExternalSurfaceAPI (I397bf, b/437924639) - הוספנו תמיכה ב-
LayoutDirectionבפריסות מרחביות. השימוש ב-SpatialAlignmentמאפשר עכשיו למקם רכיבים בצורה נכונה בהקשרים של כתיבה מימין לשמאל ומשמאל לימין. (I964bb, b/436300273) - הוספנו פרמטרים של שינוי גודל והזזה לממשקי ה-API של
Panelכדי לוודא שאפשר להחיל את ההתנהגויות האלה רק על מאגרי נתונים נתמכים. (Id491c) - נוספו
sizeIn, widthIn, heightIn, depthInSubspaceModifiersשמאפשרים להגדיר אילוצים מדויקים של מינימום ומקסימום לרוחב, לגובה ולעומק. (I1af09, b/433330761)
גרסה 1.0.0-alpha06
13 באוגוסט 2025
androidx.xr.compose:compose:1.0.0-alpha06 וגם androidx.xr.compose:compose-testing:1.0.0-alpha06 מופצים. גרסה 1.0.0-alpha06 מכילה את השמירות האלה.
תיקוני באגים
- יוצרים מחדש את
ComposeXrOwnerLocalsכשהבעלים של מחזור החיים מושמד. (9123ce1)
גרסה 1.0.0-alpha05
30 ביולי 2025
androidx.xr.compose:compose:1.0.0-alpha05 וגם androidx.xr.compose:compose-testing:1.0.0-alpha05 מופצים. גרסה 1.0.0-alpha05 מכילה את השמירות האלה.
תכונות חדשות
- הגדרת סיווג ההערות
SubspaceComposableכגלוי לכולם. (Ic2a34, b/399432430) - שני רכיבי
SpatialExternalSurfaceחדשים שניתן להרכבה שמייצגים כדורים של 180 ו-360 מעלות. (I40ef2, b/391705799) - נוספו
SubspaceModifier.aspectRatio(Ide5ab, b/399729509, b/414762147) - הוספנו את
SceneCoreEntityAPI כדי לשפר את יכולת הפעולה ההדדית ביןSceneCoreלבין Compose for XR. (I50bb3, b/423020989) -
GravityAlignedsubspaceAPI נוסף לתמיכה בתכונה 'ללא שינוי גודל' ובתכונהGravityAligned(I07359)
שינויים ב-API
-
SpatialDialog()יפעל בהתאם להגדרת הלחיצה שלSpatialDialogProperties.dismissOnBack. (Ib453b, b/416797132) - העדכון של
minimumPanelDimensionלגודל ברירת מחדל חדש של מאפייןDimensions(0.1f, 0.1f, 0.1f)נובע מהייצוג שלו במטרים. (Ib852a) - מעכשיו, מצב הפנים של תתי-מרחבים ושל Orbiters יישמר במרחב הבית וכשהאפליקציה פועלת ברקע. במצב 'תצוגה מורחבת', עדיין יוגדר ב-Subspace התרחיש לקראת המעבר למצב 'תצוגה מלאה'. (I40317, b/416037751)
- מעכשיו, המצב של
SpatialDialogsיישמר כשהאפליקציה פועלת ברקע. (I6aa56) - המערכת תעביר עכשיו את המיקום והגודל המומלצים אל
ApplicationSubspace. (I4565f, b/418834194) - הוספנו הודעת שגיאה טובה יותר והפעלנו את השגיאה מוקדם יותר כשמשתמשים ב-
SubspaceComposableבהקשר שהוא לאSubspaceComposable. (Iee2ae, b/416484684) - העדכון של
ExperimentalSubspaceVolumeApiמאזהרה לשגיאה נובע מכך שפעמים רבות מתעלמים מאזהרות כשמשתמשים ב-API שאפשר להרכיב בצורה לא נכונה. (I427aa, b/424864286) - הגישה ל-Subspace ול-
ApplicationSubspaceמוגבלת עכשיו על ידיrecommendedContentBoxInFullSpace. בעבר, היא הוגבלה על ידי שדה הראייה שלSpatialUser. (I41015, b/423074142) - עדכון
SpatialElevationלשימוש בגודל מינימלי כדי להפסיק להשתמש בגודל שמוגדר בהארד קוד (I2dbe6, b/427785338) - עדכון של אופן ההרצה של
SpatialAcitivityPanelכדי לעדכן כשמשנים משתנה מרכזי. (I0f64d, b/427999029) - מומלץ להסיר את
VolumeConstraints.Unboundedולהגדיר את ערכי ברירת המחדל של האילוץ לערך המקביל. (Ie24ec, b/407938414) - הסרטון
SpatialFeatheringSizeכבר לא ציבורי (I1c15b, b/399432430) - השם של ה-XR
Placeableשונה ל-SubspacePlaceableכדי להבדיל אותו מ-Placeableשל Compose. (I74874) - הסרת ההגדרות של Orbiter והוספת
shouldRenderInNonSpatialכפרמטר חדש. בנוסף, הוסר המחלקהEdgeOffsetוהוסףorbiterOffsetTypeכפרמטר חדש כדי לאחד את הפונקציותOrbiter(). וגם לשנות את השם שלOrbiterEdgeלContentEdge. (Iebf3d) - השם של
Measurableשונה ל-SubspaceMeasurableכדי להבדיל בין הסוג הזה לבין הסוגMeasurableשל Compose. (I9726c) - שינוי השם של
MeasureResultל-SubspaceMeasureResult(I9f34d) - הסרנו את
setSubspaceContentAPI לטובת שימוש ב-setContentשל Compose עםSubspacecomposable. (Ifff4c, b/421427391, b/421427391) - השם של
MeasurePolicyהשתנה לSubspaceMeasurePolicy. (I37a9b, b/422553904) - הפוך את
SubspaceSemanticsInfoלממשק אטום כי לא נוכל להוסיף חברים בלי ברירות המחדל. (I372f9, b/423704068) - עדכון המסמכים של
SpatialExternalSurface, שינוי השם שלContentSecurityLevelל-SurfaceProtection(I3c460, b/420982808) - נוסף constructor עמוס מדי לשינוי של רכיב שאפשר להזיז, כדי לאפשר הצמדה. (Ic0c70)
- הוספנו עוד ספק מיקום לתיאורי הכלים, כך שעכשיו מפתחים יכולים לקבוע אם תיאור הכלי יוצב מעל, מתחת, משמאל או מימין לנקודת העיגון. הוספת API שמקבל צורה של סמן טקסט, כדי שאפשר יהיה לספק צורות מותאמות אישית נוספות. (Ie513c, b/374766087, b/418854637)
- הוסר
CoreEntityכPublishedApi(Ifee05)
תיקוני באגים
- תוקנה בעיה שבה הסמל
SpatialDialogהבהב בזמן העיבוד. (Ife73c, b/401619909) - תוקנה בעיה שגרמה לכך שלא ניתן היה להשתמש ב-
SpatialDialogכדי להסתיר את חלונית הפעילות. (I8ca6c, b/367442109) - תוקנה בעיה שגרמה לכך שחלק מהתוכן לא הוצג בתיבת הדו-שיח של XR (I17cd5, b/418062437)
- תוקנה הבעיה שבה חלון ההודעה
SpatialPopupנסגר כשלוחצים בתוך התוכן. (If262c, b/417245722) - תוקנה הבעיה שבה כשמשלבים
resizable().movable()את SpatialPanel, גודל החלונית לא משתנה בהתאם לגודל החדש. (I02ee3, b/422264230) - תוקנה בעיה שבה
topBarחופף לתפריט ב-SpatialComposeVideoPlayer(Id33bc, b/427168167) - רדיוס פינה קבוע לא מוצג (I975fe, b/428261830)
גרסה 1.0.0-alpha04
7 במאי 2025
androidx.xr.compose:compose:1.0.0-alpha04 וגם androidx.xr.compose:compose-testing:1.0.0-alpha04 מופצים. גרסה 1.0.0-alpha04 מכילה את השמירות האלה.
תכונות חדשות
- נוסף ממשק
CompositionLocalConsumerSubspaceModifierNodeכדי לאפשר לסוגים מותאמים אישית שלSubspaceModifierלגשת לערכים מקומיים של קומפוזיציה. - הוספנו API חדש,
SpatialPanel, שפועל לפי סגנון ההטמעה שלAndroidView, והוצאנו משימוש אתViewBased SpatialPanelהקודם. - נוסף אובייקט נלווה
VolumeConstraints.Unboundedשמייצג אילוצים לא מוגבלים. - נוסף
SubspaceModifier.onPointSourceParamsכדי לאפשר מקור אודיו מרחבי. - נוסף
ApplicationSubspaceציבורי, שמציעVolumeConstraintsאופציונלי להגדרת אזור תלת-ממדי שבו האפליקציה יכולה לעבד תוכן מרחבי. כברירת מחדל, אם לא מציינים אילוצים, המרחב המשני יהיה מוגבל לרוחב ולגובה של שדה הראייה הנוכחי שלSpatialUser. המשתמשים יכולים לספק אילוצים לשימוש אם אי אפשר לקבוע את שדה הראייה. אחרת, נעשה שימוש בערכי ברירת המחדל של רוחב וגובה שדה הראייה. - נוספה התכונה
SpatialExternalSurface, שאפשר להשתמש בה כדי להציג תוכן סטריאוסקופי. אפשר להתאים אישית אתSpatialExternalSurfaceבאמצעות שינויים (חוץ מאלפא) ואפקט של טשטוש הקצוות. - נוסף
pointerHoverIconSubspace Modifier חדש שמאפשר למשתמשים להגדיר את הסמל של המצביע המרחבי.
שינויים ב-API
- הוסרה ההגבלה על
RequiresApi(34)בכל חבילות Jetpack XR. המגבלה הזו הייתה מיותרת כי Jetpack XR זמין כרגע רק במכשירים עם רמת API 34 ומעלה. (Iae0f8) - כדי להשתמש בפרויקטים שפורסמו עם Kotlin 2.0, צריך KGP בגרסה 2.0.0 ומעלה. (Idb6b5)
- מעכשיו, הטיפול בפעולת החזרה יפעל בחלוניות מרחביות ללא פעילויות מוטמעות. כדי שהטיפול בפעולת החזרה יפעל, צריך לציין
android:enableOnBackInvokedCallback="true"במניפסט של Android. - מעכשיו אפשר להשתמש בלחצן 'הקודם' בתיבות דו-שיח מרחביות. כדי שהטיפול בפעולת החזרה יפעל, צריך לציין
android:enableOnBackInvokedCallback="true"במניפסט של Android. - עכשיו, אפשר לשנות את הגודל של
SpatialPanelים שמבוססים על כתיבה ועל צפייה בהתאם לתוכן שלהם. - מפתחים יכולים עכשיו להגדיר ערכי
SpatialElevationLevelמותאמים אישית משלהם, והם לא מוגבלים לרמות המוגדרות מראש. - מעכשיו אפשר להתאים אישית את רמת הגובה של Orbiter באמצעות הפרמטר
elevation. - מעכשיו, כברירת מחדל, אפשר להגביל את המרחב המשני לפי שדה הראייה של
SpatialUserברוחב ובגובה. אם אי אפשר לקבוע את שדה הראייה, המערכת משתמשת בערכי ברירת המחדל של הרוחב והגובה של שדה הראייה. - נוספו קריאות חוזרות (callbacks) חדשות
onMoveStartו-onMoveEndלשינויMovable. הקריאות החוזרות (callbacks)onMoveStartו-onMoveEndמופעלות כשהמשתמש מתחיל ומסיים להזיז מרחב משנה שניתן להרכבה עם שינוי המיקום. - הפרמטר
nameהוסר מ-APIs מרחביים כמוSpatialRowו-SpatialPanel. לניפוי באגים בעצים של קומפוזיציה מרחבית, משתמשים במקום זאת ב-SubspaceModifier.testTag. - הוסרה עומס יתר לא נתמך של
SpatialPopupשיש לו רקspatialElevationLevelו-content. צריך להשתמש בממשק שתומך ב-onDimissRequest. - הקריאה החוזרת (callback) של
onPoseChangeמהמשנה (modifier) Movable הוסרה. במקומה צריך להשתמש במדיניותonMove. SubspaceModifiersלא יחולו יותר אם הם מנותקים או בתהליך ניתוק.- ממשק ה-API הקיים של
SpatialRowפוצל ל-SpatialRowול-SpatialCurvedRow. אם השתמשתם בעבר בפרמטרSpatialRowשלcurveRadius, עכשיו צריך להשתמש בפרמטרSpatialCurvedRowבמקומו, כי הוא מציע את אותה התנהגות. - ל-
MainPanelול-ActivityPanelאין יותר סרגלי כותרת כשהן מופעלות על קובץ אימג' של מערכת עדכנית דומה. - עכשיו אפשר להשתמש בכמה משני אלפא ומשני גודל ביחד, והערכים שלהם יוכפלו כדי לקבל את ערך האלפא או הגודל הסופי.
- התקשרות חזרה (callback) משינוי המיקום של המיקום הניתן לשינוי עברה אופטימיזציה כדי לאפשר תנועה חלקה יותר של התנוחה.
onPoseChange - השינויים במצבים יפעילו עכשיו את ההרכבה מחדש, כי הפונקציות של המאפיינים שניתנים להזזה ולשינוי גודל יופעלו ב-callback בשרשור הראשי.
- הוספנו מעקב אחרי מצב בשלבי הפריסה והמדידה כדי לוודא ששינויים במצב ב-
SubspaceLayoutיפעילו פריסה מחדש. - עדכנו את שרשרת התכונות המשנות כדי לעשות שימוש חוזר טוב יותר בתכונות משנות קיימות.
תיקוני באגים
- הפסקת ההצללה כשמוצג
SpatialDialog. (Ic4594) - בקשות לשינוי פריסה שנשלחות בזמן שצמתי שינוי מנותקים יקבלו מעכשיו התעלמות.
- הוסרו שלבי פריסה מחדש שהופעלו על ידי משנים מסוג Movable ו-Resizable.
- תוקנה קריסה ב-
MainPanel()composable שהתרחשה כששני המאפיינים הוגדרו לאפס, באופן ישיר או במהלך חישוב פריסה, למשל חישוב שלSpatialRow/SpatialColumn. החלונית תוסתר. שימו לב שהתיקון הזה מתייחס ספציפית לקריסות במהלך שלב הפריסה. שינוי הגודל של החלונית לאפס באמצעות אינטראקציה עם המשתמש יטופל בנפרד. לחלונית המוסתרת חסרים רכיבי ממשק משתמש. - תוקנה בעיה שקשורה ל-
maintainAspectRatioמהמשנה (modifier) של שינוי הגודל. יחס הגובה-רוחב אמור להישמר עכשיו. - תוקנה בעיה במרחבים משניים מוטמעים שבה הם ממוקמים בצורה שגויה בפריים בודד.
- תוקנה הבעיה שבה פינות מעוגלות לא הוחלו לפעמים כשהיה צריך.
- המסגרת של
NestedSubspacesלא תופיע יותר במיקום הלא נכון.
גרסה 1.0.0-alpha03
26 בפברואר 2025
הגרסאות androidx.xr.compose:compose:1.0.0-alpha03 ו-androidx.xr.compose:compose-testing:1.0.0-alpha03 הושקו ללא שינויים משמעותיים מאז גרסת האלפא האחרונה. גרסה 1.0.0-alpha03 מכילה את השמירות האלה
גרסה 1.0.0-alpha02
12 בפברואר 2025
androidx.xr.compose:compose:1.0.0-alpha02 וגם androidx.xr.compose:compose-testing:1.0.0-alpha02 מופצים. גרסה 1.0.0-alpha02 מכילה את השמירות האלה.
תכונות חדשות
- עכשיו, כשמפעילים את התכונה 'דיאלוג מרחבי', אפשר להסתיר את התוכן של חלונית הפעילות.
- אפשר להשתמש עכשיו ב-API
Orbiterבהקשרים שלSubspaceComposable, והוא יצרף את רכיבי ה-Orbiter לרכיב ההורה הקרוב ביותר שניתן להרכבה שמבוסס עלSubspaceLayout. - הוספנו את
LayoutCoordinatesAwareModifierNodeכדי לאפשר שינויים מותאמים אישית שמבוססים על מיקום. - נוספו שיטות מחזור חיים של צירוף/ניתוק ל-
SubspaceModifier.Node. - הוספת
scaleWithDistanceלערך הקבוע שניתן להזזה. כשהאפשרותscaleWithDistanceמופעלת, הרכיב של המרחב המשני שמועבר יגדל או יקטן. הוא גם ישמור על סולם הציונים המפורש שהיה לו לפני ההעברה.
שינויים ב-API
- הסרנו את
SessionCallbackProviderלטובתSpatialCapabilities.
שינויים אחרים
- הורדנו את
minSDKל-24. כל ממשקי Jetpack XR API עדיין דורשים API ברמה 34 בזמן הריצה. - הקונסטרקטורים
OrbiterEdgeOffset.inner,EdgeOffset.outerו-EdgeOffset.overlapהם כבר לא מתודות של@Composable, ולכן אפשר להשתמש בהם בהקשרים שאינם ניתנים להרכבה. - עדכון של רמות הגובה המרחביות בהתאם למפרט חוויית המשתמש העדכני.
- הטמעה של ממשק
SubspaceSemanticsInfoב-MeasurableLayout. - השם של
SubspaceModifierElementשונה ל-SubspaceModifierNodeElement.
תיקוני באגים
- בוצעו תיקונים כדי לייצב את ההזמנה של
SubspaceModifier.SubspaceModifierאמור להתנהג בצורה אמינה יותר. עכשיו אפשר להשתמש במקשי התיקון Offset, Rotate, Scale, Movable ו-Resizable בכל סדר.
גרסה 1.0.0-alpha01
12 בדצמבר 2024
androidx.xr.compose:compose-*1.0.0-alpha01 מופץ.
תכונות של הגרסה הראשונית
השקנו גרסה ראשונית של Jetpack פיתוח נייטיב for XR למפתחים. אתם יכולים להשתמש במושגים מוכרים מ-Compose, כמו שורות ועמודות, כדי ליצור פריסות מרחביות של ממשק משתמש ב-XR, בין אם אתם מעבירים אפליקציית דו-ממד קיימת ל-XR או יוצרים אפליקציית XR חדשה מאפס. הספרייה הזו מספקת רכיבים מרחביים ורכיבים שניתנים להרכבה במרחב: כמו חלוניות מרחביות ורכיבי Orbiters, שמאפשרים לכם למקם את ממשק המשתמש הקיים שלכם מבוסס-Views או מבוסס-Compose דו-ממדי בפריסה מרחבית. הוא כולל את הרכיב Volume subspace composable, שמאפשר למקם ישויות SceneCore, כמו מודלים תלת-ממדיים, ביחס לממשק המשתמש. מידע נוסף זמין במדריך למפתחים:
Subspace: אפשר למקם את רכיב ה-Composable הזה בכל מקום בהיררכיית ממשק המשתמש של האפליקציה, וכך לשמור על פריסות לממשקי משתמש דו-ממדיים ומרחביים בלי לאבד את ההקשר בין הקבצים. כך קל יותר לשתף דברים כמו ארכיטקטורת אפליקציה קיימת בין XR ובין גורמי צורה אחרים, בלי להעביר את המצב דרך כל עץ ממשק המשתמש או לשנות את הארכיטקטורה של האפליקציה.SpatialPanel: חלונית מרחבית היא מרחב משנה שניתן להרכבה, שמאפשר להציג תוכן של אפליקציה – למשל, אפשר להציג הפעלת סרטון, תמונות סטילס או כל תוכן אחר בחלונית מרחבית.
אורביטר: אורביטר הוא רכיב מרחבי בממשק המשתמש. הוא מיועד לצירוף לחלונית מרחבית תואמת, ומכיל פריטי ניווט ופעולות לפי הקשר שקשורים לחלונית המרחבית הזו. לדוגמה, אם יצרתם חלונית תלת-ממדית להצגת תוכן וידאו, תוכלו להוסיף אמצעי בקרה להפעלת וידאו בתוך אורביטר.
נפח: מיקום ישויות SceneCore, כמו מודלים תלת-ממדיים, ביחס לממשק המשתמש.
פריסה מרחבית: אפשר ליצור כמה חלונות מרחביים ולמקם אותם בפריסה מרחבית באמצעות
SpatialRow,SpatialColumn,SpatialBoxו-SpatialLayoutSpacer. משתמשים ב-SubspaceModifierכדי להתאים אישית את הפריסה.רכיבים מרחביים בממשק המשתמש: אפשר לעשות שימוש חוזר ברכיבים האלה בממשק המשתמש הדו-ממדי, והמאפיינים המרחביים שלהם יהיו גלויים רק כשמפעילים את היכולות המרחביות.
-
SpatialDialog: החלונית תזוז מעט אחורה בעומק בציר Z כדי להציג תיבת דו-שיח מוגבהת. -
SpatialPopUp: החלונית תזוז מעט אחורה בעומק בציר Z כדי להציג חלון קופץ מוגבה -
SpatialElevation: אפשר להגדיר אתSpatialElevationLevelלהוספת גובה.
-
SpatialCapabilities: היכולות המרחביות יכולות להשתנות כשהמשתמשים יוצרים אינטראקציה עם האפליקציה או עם המערכת, או אפילו להשתנות על ידי האפליקציה עצמה – למשל, מעבר למרחב הבית או למרחב מלא. כדי להימנע מבעיות, האפליקציה צריכה לבדוק את
LocalSpatialCapabilities.currentכדי לקבוע אילו ממשקי API נתמכים בסביבה הנוכחית. isSpatialUiEnabled: רכיבי ממשק משתמש מרחביים (לדוגמה, SpatialPanel) isContent3dEnabled: אובייקטים תלת-ממדיים isAppEnvironmentEnabled: הסביבה isPassthroughControlEnabled: האם האפליקציה יכולה לשלוט במצב ה-passthrough isSpatialAudioEnabled: אודיו מרחבי
בעיות מוכרות
- נכון לעכשיו, נדרשת גרסת minSDK 30 כדי להשתמש ב-Jetpack פיתוח נייטיב for XR. כפתרון עקיף, אפשר להוסיף את רשומת המניפסט הבאה
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>כדי לבצע build ולהפעיל עם minSDK של 23. - כדי להשתמש באפליקציות Jetpack XR, צריך לבקש את ההרשאה
android.permission.SCENE_UNDERSTANDINGב-AndroidManifest. - כשמפעילים אפליקציה ישירות במרחב מלא באמצעות המאפיין
PROPERTY_XR_ACTIVITY_START_MODEבמניפסט שלה, הפעילויות או האפליקציות נפתחות בהתחלה במרחב הבית לפני שהן עוברות למרחב מלא. - יכול להיות שקובצי glTF ב-Volume Composables יהבהבו בהתחלה במיקום הלא נכון.
- שימוש ב-SpatialDialog בחלונית שהוזזה באופן משמעותי ידחוף את התוכן בכיוון הלא נכון.