Jetpack Compose ל-XR
| העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| 21 באוקטובר 2026 | - | - | 1.0.0-beta02 | - |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-XR Compose, צריך להוסיף לפרויקט את מאגר Google Maven. מידע נוסף זמין במאמר מאגר ה-Maven של Google.
אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
מגניב
dependencies { implementation "androidx.xr.compose:compose:1.0.0-beta02" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-beta02" }
Kotlin
dependencies { implementation("androidx.xr.compose:compose:1.0.0-beta02") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-beta02") }
מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.
גירסה 1.0
גרסה 1.0.0-beta02
21 באוקטובר 2026
androidx.xr.compose:compose:1.0.0-beta02 ו-androidx.xr.compose:compose-testing:1.0.0-beta02 מופצים. גרסה 1.0.0-beta02 מכילה את השמירות האלה.
שינויים ב-API
- הספריות עכשיו מטרגטות את Kotlin 2.2 ודורשות את kotlinc 2.2 (I82396, b/498369605)
- השם של הפרמטר
halfLifeMsשלFollowMode.soft()שונה ל-halfLifeMillis. (I39187) - המרנו את
PitchLimitsל-@JvmInline value class, וארזנו שני ערכים מסוג float ב-Longכדי לבטל את הקצאות האובייקטים. (Id43c3) - נוסף פרמטר חדש ל-
FollowMode.soft: הפרמטריםhalfLifeMs,startDelayו-startThresholds. הסרנו את הפרמטרdurationMsכי הוא כבר לא נחוץ, כחלק מהמעבר מאלגוריתםsmoothStepלאלגוריתםexponentialDecay. (If0140) - מסירים את עומס היתר של
SpatialActivityPanelשהוצא משימוש. במקום זאת, צריך להשתמש בעומס היתר שלSpatialActivityPanelשמקבלSpatialActivityPanelController. (I5abc3) - הפעלת מעברים בין תוכן Composable בתלת-ממד ובדו-ממד בפעילות אחת ב-
FullSpaceMode. השינוי הזה מוגבל על ידיSpatialComposeFlags.isMainPanelResetOnSubspaceDisposeEnabled. (I4e237) - הוספנו עומס יתר ניסיוני של
Subspaceשכולל פרמטרFollowTargetכדי לתמוך בתוכן הבא. (Iec1a9) - הסרת משתנים ניידים שיצאו משימוש. במקום זאת, צריך להשתמש ב-modifier החדש שניתן להזזה, שמקבל את ה-
MovePolicyהחדש כפרמטר. (Ib135d) - הסרת
DragPolicyשיצא משימוש. במקומה צריך להשתמש במדיניותSubspaceModifier.movable(). (I108d4) - הוצאו משימוש עומסי יתר (overloads) של
Sliderו-RangeSliderללא שמירת מצב (stateless) לטובת גרסאות עם שמירת מצב (stateful). שינינו את השם שלactiveRangeStartו-activeRangeEndב-RangeSliderStateל-startValueו-endValue, והוצאנו משימוש ממשקי API ישנים יותר של Slider שלא קודמו והיו ניסיוניים עםDeprecationLevel.HIDDEN. (If8995)
תיקוני באגים
- תוקנה הבעיה
RotateToLookAtUserעל ידי הוספתposeInActivitySpaceכדי להבטיח חישוב נכון של התנוחה לכל סוגי תת-המרחבים, כולל אלה שמחוברים לעוגנים או למשתמשים.Ica367b - תוקנה קריסה של Constraints כש-Orbiter מחובר לחלוניות גדולות (I8c4bf)
- תוקן באג ב-
SubspaceLayoutNodeשבוremoveAll()גרם להקצאות מיותרות שלArrayList. בנוסף, תיקנו את הביצועים של חישוב העומק. I34a10a - התלות
androidx.lifecycle:lifecycle-runtimeעודכנה לגרסה 2.10.0. הגרסה הזו נדרשת כדי להריץ בדיקות lint של זמן ריצה של מחזור חיים בחבילה עם AGP בגרסה 9.5.0-alpha04 ואילך. (I99bfd, b/556807521) - שיפור של kdocs שקשורים ל-
AudioOutputProviderכדי להדגיש שלא צריך להשתמש בהם שוב עם כמה מכונות שלExoPlayer(I6b18e) - תיקון בעיות קלות באיות ובדקדוק ב-kdoc (Id3ba6)
בעיות מוכרות
- הגרסה הזו של
androidx.xr.composeתלויה ב-androidx.xr.scenecore:1.0.0-rc01, שיש בה דליפת זיכרון ידועה. בתצורת ה-build, אפשר לשנות באופן מפורש את התלות ב-SceneCoreלגרסה1.0.0, שכוללת תיקון לדליפת הזיכרון.
גרסה 1.0.0-beta01
23 בספטמבר 2026
androidx.xr.compose:compose:1.0.0-beta01 ו-androidx.xr.compose:compose-testing:1.0.0-beta01 מופצים. גרסה 1.0.0-beta01 מכילה את השמירות האלה.
שינויים ב-API
- הוסר
DragPolicyשהוצא משימוש. במקומה צריך להשתמש במדיניותSubspaceModifier.movable(). (I108d4) - הסרנו את
ResizePolicyשהוצא משימוש ואת השימושים שלו ב-SpatialPanelוב-SpatialExternalSurface. הסרת פונקצייתSubspaceModifier.resizableשיצאה משימוש. במקום זאת, צריך להשתמש ב-SubspaceModifier.resizableהחדש עםResizePolicyחדש. (I59e6b) - הוספנו את הפרמטר
isPitchUpdateEnabledכדי לאפשר הפעלה או השבתה של מעקב אחר גובה הצליל באופן עצמאי. (Ie9e86) - הוסרה האפשרות להגדיר את
pitchLimitsכ-null, והשם שלPitchLimits.UNCONSTRAINEDשונה ל-PitchLimits.FullRange. (I0154f) - הפונקציה
ExposedDropdownMenuהיא עכשיו פונקציית הרחבה ב-ExposedDropdownMenuBoxScopeבמקום פונקציית חבר. יכול להיות שתצטרכו לעדכן את הקוד באמצעות ייבוא חדש. (Ie8a65) - הוסרה המחלקה
SurfaceProtectionשהוצאה משימוש. במקומה צריך להשתמש במדיניותSpatialExternalSurfaceProtection. (Iab2c6) - הפונקציה Orbiter שמקבלת
OrbiterPoseProviderהוצאה משימוש, ובמקומה משתמשים בפונקציה שמשתמשת ב-SpatialAlignment. (I4d12b) - עכשיו נדרש
SpatialActivityPanelController(שנוצר באמצעותrememberSpatialActivityPanelController) כדי להפעיל ולנהל פעילויות מוטמעות ב-SpatialActivityPanel. (Id25c6) - הסרנו את הפרמטר
upDirectionמ-rotateToLookAtUserוהוספנו פרמטרים של אילוצי סיבוב (isYawUpdateEnabledו-pitchLimits). (I1370a)
תיקוני באגים
- תוקנו כמה בעיות ב-
InteractionPolicy. האפליקציה קרסה אם אירוע קלט התרחש בדיוק כשה-Composable או הצאצא (למשל, Orbiter) התחילו רצף של סילוק. העדכון גם פותר בעיה שבה הילד או הילדה מקבלים אירועי ריחוף. (Ifc477) - גודל החלונית ב-
RotateToLookAtUserActivityהוקטן כדי למנוע חיתוך במכשירים עם שדה ראייה קטן יותר. (I8d672)
בעיות מוכרות
- יש בעיה בחלוניות של Compose XR: אם יוצרים הרבה חלוניות ב-Activity אחת, יכול להיות שחלק מהתוכן שמוצג ייפגם, גם אחרי שהחלוניות נסגרות.
גרסה 1.0.0-alpha17
12 באוגוסט 2026
androidx.xr.compose:compose:1.0.0-alpha17 ו-androidx.xr.compose:compose-testing:1.0.0-alpha17 מופצים. גרסה 1.0.0-alpha17 מכילה את השמירות האלה.
שינויים ב-API
- צריך להסיר את מחלקת הערכים
Meter, היא מוחלפת ב-virtualPixelDensityב-Scenecore. (I690ee) -
SpatialGltfModelAPI הוא עכשיו ניסיוני וצריך להביע הסכמה כדי להשתמש בו. (I4557e) - הפיכת
systemresizable ל-nullable (Ib0093) - השדה
Densityנחשף ב-SubspaceSemanticsInfoלצורך בדיקה. (I2e826) - שינוי השם של אפשרות ברירת המחדל
ResizePolicyל-systemוהוספת אפשרותDefaultחדשה ללא פרמטרים (Ic8b16) - סימון של
FollowTargetכניסיוני. כל ה-API שלFollowingSubspaceהוא עכשיו ניסיוני. (Id4ee3) - הסרת ממשקי API של
GltfAnimation (Ic2894) - השם של ה-method
MovePolicy.default()עם הפרמטרים שונה ל-MovePolicy.system(). הוספנו את המאפייןval MovePolicy.Defaultכדי לייצג את התנהגות ברירת המחדל הרגילה של התנועה. (Iedcc9) - הרחבת דרישות ההצטרפות של
ExperimentalMoveAnchorPolicyאלPlaneSemanticו-PlaneOrientation(Ief927) - הסרת
resetMinsמהחשבוןVolumeConstraints.offset(Ib2f2f) - הוסרה הפונקציה
SceneCoreEntitySizeAdapterשיצאה משימוש. (Ib6722) - הוסרה עומס יתר (overload) של
Subspaceשהוצא משימוש עםallowUnboundedSubspace. (I8e97f) - הוסרה עומס יתר של משנה סמנטיקה שהוצא משימוש. (I4ac10)
תיקוני באגים
- תוקנה בעיה שבה צאצאים של
ComposableעםInteractionPolicyמצורף מפעילים אירועי קלט (Icdba6)
גרסה 1.0.0-alpha16
15 ביולי 2026
androidx.xr.compose:compose:1.0.0-alpha16 ו-androidx.xr.compose:compose-testing:1.0.0-alpha16 מופצים. גרסה 1.0.0-alpha16 מכילה את השמירות האלה.
שינויים ב-API
- הסרת ממשקי API של
ComponentOverride (I820c4) - ממשקי ה-API של
GltfAnimationו-SpatialGltfModelAnimationסומנו כניסיוניים. חלק מהמאפיינים הפכו לפונקציות getter. (I8d689, b/524771027) - תוקנה ההתנהגות הכוללת של הצפיפות על ידי הגדרת ההמרה בין מטרים לפיקסלים כקבועה. הוצאנו משימוש את Meter.kt, ועכשיו אפשר להשתמש ב-
Session.scene.virtualPixelDensityכחלופה. (I122ff, b/430097855, b/474168798) - עדכון של משתנה שינוי הגודל כך שישתמש ב-
ResizePolicyאחד במקום בשני משתנים (I7fb0f, b/496257436, b/519672992) - הוספנו פרמטר tolerance:
Dp = Dp(0.5f)לכל טענות הנכוֹנוּת (assertion) הציבוריות של שוויון מיקום ומאפיינים של נקודה צפה (floating-point) ב-SubspaceAssertions.kt. התנהגות ברירת המחדל של הסבילות (0.5.dp) מתועדת באופן מלא. (I266cb, b/521491915) - נוספה עומס יתר שניתן להעביר עם הפרמטר
movePolicy, והוצאה משימוש שלtransformingMovableו-movable(Ic88c1, b/481781189) - הוספנו גרסאות חדשות לא אינטראקטיביות של פריט רשימה רגיל ופריט רשימה מקוטע, בהתאם למפרטים של Material Expressive. הגרסה הלא-אקספרסיבית הוצאה משימוש. (Ide4de, b/491994186)
- ב-Subspace, הפרמטר
allowUnboundedSubspaceהוצא משימוש והוסתר. כדי להשיג התנהגות לא מוגבלת, צריך להשתמש ב-SubspaceModifier.requiredSizeIn(maxWidth=Dp.Infinity,maxHeight=Dp.Infinity,maxDepth=Dp.Infinity) ב-Subspace modifier. הפרמטרallowUnboundedSubspaceהוסר מ-FollowingSubspace. (Ia72ae, b/433624021) - הפונקציה
Session.createהומרה לפונקציית השעיה. (I5d27f) - הוספנו את
SubspaceModifier.spatializedAudioOutput, שמאפשר להפעיל אודיו מרחבי דרךExoPlayerאו דרךSoundEffectPlayer(I46697, b/489421980, b/497867019) - הפונקציות
ComponentActivity.requestHomeSpace()ו-requestFullSpace()עודכנו כך שיחזירו את הערךSpaceRequestResultלצורך אימות הסטטוס. (If1672) - השם של
AnchorEntityהשתנה ל-AnchorSpace(Ifa95e, b/513619219) - שיטת
fromResourceלא מוגבלת מ-SpatialGltfModelSource(I1f5a1, b/503047416) - האיברים של
SubspaceSemanticsMatcherהם ציבוריים: המאפייןdescription, שיטות המפעל הנלוות (expectValue,keyIsDefined,keyNotDefined), פונקציות האיברים (matches,matchesAny) והאופרטורים (and,or,not). (I972a4, b/460427288) - עדכנו את
SubspaceModifier.semantics,SubspaceModifier.testTag,SubspaceSemanticsInfo,SubspaceSemanticsModifierNodeכדי להשתמש בסוגים של סמנטיקה מרחבית שנבחרו בקפידה. (I80dea, b/460427288) - שינינו את השם של
positionל-alignב-SpatialAlignmentוהסרנו שיטות נפרדות של היסט כיווני לטובת API מאוחד שלalign. (I9bdb2, b/479805937) - הסרנו מ-
SpatialConfigurationממשקי API של מצב מרחב שהוצאו משימוש. (I1ef5c, b/458712461) - הושק
SubspaceSemanticsConfiguration. זוהי הגדרה של מאפייני סמנטיקה לצומת מרחבי. המחלקה הזו חושפת באופן בטוח שיטות שאילתה לסמנטיקה תלת-ממדית, בלי לחשוף יכולות סמנטיות בסיסיות דו-ממדיות לצרכנים חיצוניים. (Id025e, b/460427288) - נוסף הרכיב
SubspaceSemanticsPropertyReceiver: wrapper ייעודי שמגביל את מאפייני מאגר הפריסה התלת-ממדית לשדות חוקיים (בהתחלהtestTagו-contentDescription). (I5cf5c, b/460427288)
תיקוני באגים
- הגדרנו את ברירת המחדל של
hasContentDescriptionשל המשנה הסמנטי להתאמה למחרוזת משנה. (I08214) - נוסף
FollowBehavior.ExponentialDecay()מוגבל שמספק התנהגות מעקב רכה המונחית על ידי פיזיקה אלסטית. (I7449c, b/485639909, b/500493335)
רוב ממשקי ה-API יושפעו מהשינוי הזה. באופן ספציפי, LocalSession CompositionLocal וכל CompositionLocals שתלויים ב-LocalSession (למשל LocalSpatialConfiguration, LocalSpatialCapabilities וכו') יופנו עכשיו אל null או אל הגרסאות שלו שאינן XR לפני האתחול של Session.
כשה-Session יהיה זמין, תופעל הרכבה מחדש עם המצב הנכון. (I0cfa4, b/514712835, b/514712835)
- הבהרנו את התיעוד של
ComponentActivity.requestHomeSpaceו-ComponentActivity.requestFullSpaceבנוגע להתנהגות ההשעיה, הביטול והבו-זמניות. בדיקות מעודכנות לאימות ההפצה שלCancellationException. (I22f75, b/493289528)
גרסה 1.0.0-alpha15
17 ביוני 2026
androidx.xr.compose:compose:1.0.0-alpha15 ו-androidx.xr.compose:compose-testing:1.0.0-alpha15 מופצים. גרסה 1.0.0-alpha15 מכילה את השמירות האלה.
שינויים ב-API
- הוצאנו משימוש את
ResizePolicyואת המשתנה הישן לשינוי הגודל, והחלפנו אותם בעומס יתר חדש שלSubspaceModifier.resizableו-SubspaceModifier.transformingResizable. (I9e4bc) - עדכנו את ממשקי ה-API של
SpatialGltfModel: הוספנו תמיכה בטעינת מודלים ממשאבים דרךSpatialGltfModelSource.fromResource. שינינו את השם של המהירות ל-playbackSpeedב-SpatialGltfModelAnimationוהוספנו שיטת resume().SpatialGltfModelStatus.Loaded ו-Loading הם עכשיו אובייקטים. (I523de) -
rotateToLookAtUserסומן כ-API ניסיוני. (I86c16) - המשתנה המוגן
targetCurrentPoseהועבר ושמו שונה למשתנה המקומיcurrentTargetPoseMeter. (Ia557c) - עדכון של
SpatialPanelו-SpatialExternalSurfacekdocs כך שיכללו את המיקום שבו האובייקט מוצג בתוך גודל הפריסה שלו (I72104) - לוגיקת הטעינה של
SpatialGltfModelהוטמעה בתוךSpatialGltfModelStateוהובהרה התנהגות הכשל. (Ibe98b) - הבהרת
depthב-SubspaceModifer.sizekdocs (I0f84f)
גרסה 1.0.0-alpha14
19 במאי 2026
androidx.xr.compose:compose:1.0.0-alpha14 ו-androidx.xr.compose:compose-testing:1.0.0-alpha14 מופצים. גרסה 1.0.0-alpha14 מכילה את השמירות האלה.
שינויים ב-API
- הוספנו את
transformingMovableלתנועה תלת-ממדית שמוגדרת כברירת מחדל ומנוהלת על ידי המערכת, והוספנו עומס יתר חדש ל-movableכדי לטפל בהתנהגויות של תנועה בהתאמה אישית. (I50960) - השדה
SpatialGltfModel.fromData()הוסר. (I4d083) - נוסף ממשק חדש לצומת של משתנה,
SubspaceMeasuredSizeAwareModifierNode, שמספק קריאה חוזרת (callback) שלonRemeasuredאחרי שלב המדידה. עכשיו הממשק החדש הזה זמין גם ב-SubspaceLayoutAwareModifierNode. המשתנהonSizeChangedעודכן לשימוש ב-onRemeasured, כדי להבטיח שהקריאה החוזרת תופעל מיד אחרי המדידה, ולא אחרי המיקום. (Iafbae) - השדה
InteractionPolicyעודכן לערךInterface(I0ff30) - עדכון של Compose
compileSdkל-API 37. כלומר, כשמשתמשים ב-Compose, נדרשת גרסת AGP מינימלית של 9.2.0. (Id45cd) - עודכנו
Sizekdocs (Iefa9a)
גרסה 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 יעובדו. - הוספת API של
SpatialGltfModelכדי לאפשר למפתחים להוסיף קובצי Gltf לאפליקציות Compose For XR שלהם. מפתחים יכולים גם לשלוח שאילתות לגבי אנימציות וצמתים בתוך המודלים שלהם ב-Gltf. (I8b542, b/495422586) - שינוי של
SceneCoreEntitySizeAdapterממחלקה לממשק (I5a784, b/475292310) - השם של
SurfaceProtectionשונה ל-SpatialExternalSurfaceProtection. עדכון שלSpatialExternalSurfacekdocs (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 של המרווח הפנימי שהוצא משימוש (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
- מוסיפים את ה-API של
SpatialGltfModelואת ממשקי ה-API שלSpatialGltfModelAnimationכדי לעבד קובצי glTF ולשלוט באנימציות. הערך שלSpatialGltfModelStateהשתנה ל-AutoCloseable, ועכשיו צריך לסגור אותו כדי לפנות את המשאבים שלו. (I11fde, b/466065486, b/481379924). עם זאת, ה-API שלSpatialGltfModelמסומן כמוגבל בגרסה הזו עד לבדיקות נוספות. (Ibf003, b/466090694) - נוסף עומס יתר ריק שהוצא משימוש עבור
SubspaceModifier.rotate. (Idceb6) - השם של הפונקציה
SpatialSmoothFeatheringEffectהשתנה ל-spatialSmoothFeatheringEffectוהיא הועברה למודול draw. ערך ברירת המחדל של ריכוךSpatialExternalSurfaceעודכן ל-null, שמחקה את הפונקציונליות הישנה של ZeroFeatheringEffect. (I5fdaa, b/460426800) - בוצעה הסרה של
onPointSourceParamsAvailable. בעתיד הקרוב יהיה זמין ממשק API אחר של אודיו מרחבי. (I86507, b/458513439) - הוספנו התנהגות מימין לשמאל לשינוי ההיסט של מרחב המשנה. הוספנו גם את
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
- שינויים במרווח הפנימי של משנה מרחב המשנה כדי להתאים לכיוון הפריסה. (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) - הוסר ה-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.- ההתנהגות של Subspace API השתנתה, ועכשיו הוא מספק רק מרחב משנה ברמת האפליקציה בתנוחה ובקנה המידה המומלצים.
- API של
PlanarEmbeddedSubspaceנוסף כדי לספק מרחבי משנה מוטמעים בהקשרים דו-ממדיים. (Id3343)
- הוספנו את הדגל
shouldAutoInvalidateל-API שלSubspaceModifier.Node. (I93902) - נוסף
required(Size|Width|Depth|Height)בממשקי API שמאפשרים למפתחים להגביל את הגודל של@SubspaceComposableלטווח מסוים, בלי להתחשב במגבלות המדידה של ההורה. (Ifaa78) - הוספנו את
SubspaceModifier.onSizeChanged, שמספק קריאה חוזרת (callback) פשוטה וממוקדת למפתחים כדי להגיב כשגודל של@SubspaceComposableמשתנה. (I994f9) - הסרנו את Volume API. צריך להשתמש ב-API של
SceneCoreEntityבמקום ב-Volume API. (I4162b) - מפצלים את
SubspaceLayoutModifierNode.requestRelayoutל-invalidateMeasurement/invalidatePlacement. (I14805) - הוספנו את ה-API של
SpatialGltfModelשמאפשר למפתחים לעבד קובצי glTF ב-Compose. (Icc91f) - הוספנו את ה-API הניתן לשילוב
SpatialGltfModelכדי לעבד בקלות קובצי 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)
תיקוני באגים
- מניעת קריסה כשמשמידים פעילות עם Subspace. (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(פנימי) (Iede00, b/440599394, b/440599394)
- Unrestrict
SpatialExternalSurface(I33315, b/439646773) - הוספת
SubspaceModifierלרכיבים של Subspace והחלפת הפרמטר constraints ב-SubspaceModifierעםSubspaceModifiersשקשור לגודל. אם המדיניותallowUnboundedSubspaceמוגדרת כ-True, עדיין יכולות להיות במרחבי המשנה מגבלות לא מוגדרות. (Ib06e6, b/433331675) - הוצאה משימוש של
SubspaceModifiersשניתן להזזה ולשינוי גודל, כיDragPolicy()ו-ResizePolicy()הם חלק מ-API שלSpatialPanelו-SpatialExternalSurface(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) - הוספנו את ה-API של
SceneCoreEntityכדי לשפר את יכולת הפעולה ההדדית בין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) - המרחב המשני ו
ApplicationSubspaceמוגבלים עכשיו על ידיrecommendedContentBoxInFullSpace. בעבר, הוא היה מוגבל על ידי שדה הראייה שלSpatialUser. (I41015, b/423074142) - עדכון של
SpatialElevationלשימוש בגודל מינימלי במקום בגודל שמוגדר בתוך הקוד (I2dbe6, b/427785338) - עדכון של אופן ההכהיה של
SpatialAcitivityPanelכדי לעדכן כשמשתנה מפתח משתנה. (I0f64d, b/427999029) - צריך להסיר את
VolumeConstraints.Unboundedולהגדיר את ערכי ברירת המחדל של האילוצים לערכים המקבילים. (Ie24ec, b/407938414) -
SpatialFeatheringSizeכבר לא ציבורי (I1c15b, b/399432430) - שינינו את השם של
Placeableב-XR ל-SubspacePlaceableכדי להבדיל אותו מ-Placeableב-Compose. (I74874) - הסרת ההגדרות של Orbiter והוספת
shouldRenderInNonSpatialכפרמטר חדש. בנוסף, הסרנו את המחלקהEdgeOffsetוהוספנו אתorbiterOffsetTypeכפרמטר חדש כדי לאחד את הפונקציות שלOrbiter(). וגם לשנות את השם שלOrbiterEdgeל-ContentEdge. (Iebf3d) - שינינו את השם של
Measurableל-SubspaceMeasurableכדי להבדיל בין הסוג הזה לבין הסוגMeasurableשל Compose. (I9726c) - שינוי השם של
MeasureResultל-SubspaceMeasureResult(I9f34d) - הסרנו את ה-API של
setSubspaceContentוהחלפנו אותו ב-setContentשל Compose עםSubspaceקומפוזבילי. (Ifff4c, b/421427391, b/421427391) - השם של
MeasurePolicyהשתנה לשםSubspaceMeasurePolicy. (I37a9b, b/422553904) - צריך להפוך את
SubspaceSemanticsInfoלממשק סגור כי לא נוכל להוסיף חברים בלי ברירות המחדל. (I372f9, b/423704068) - עדכנו את המסמכים של
SpatialExternalSurface, שינינו את השם שלContentSecurityLevelל-SurfaceProtection(I3c460, b/420982808) - הוספנו בנאי עמוס (overloaded) לשינוי של רכיבים שניתן להזיז, שמאפשר עיגון. (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ב-Compose, והוצאנו משימוש אתViewBased SpatialPanelהקודם. - נוסף אובייקט נלווה מסוג
VolumeConstraints.Unboundedשמייצג אילוצים לא מוגבלים. - הוספנו את
SubspaceModifier.onPointSourceParamsכדי לאפשר מקור אודיו מרחבי. - נוסף
ApplicationSubspaceציבורי, שמציעVolumeConstraintsאופציונלי להגדרת אזור תלת-ממדי שבו האפליקציה יכולה לעבד תוכן מרחבי. כברירת מחדל, אם לא צוינו אילוצים, המרחב המשני יוגבל על ידי שדה הראייה הנוכחי שלSpatialUserברוחב ובגובה. המשתמשים יכולים להגדיר אילוצים שישמשו את המערכת אם לא ניתן לקבוע את שדה הראייה. אחרת, המערכת תשתמש בערכי ברירת המחדל של הרוחב והגובה של שדה הראייה. - נוסף
SpatialExternalSurface, שניתן להשתמש בו כדי לעבד תוכן סטריאוסקופי. אפשר להתאים אישית אתSpatialExternalSurfaceבאמצעות משתנים (חוץ מאלפא) ואפקט ריכוך קצוות. - נוסף משנה מרחב משנה חדש
pointerHoverIconשמאפשר למשתמשים להגדיר את הסמל של הסמן המרחבי.
שינויים ב-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מבוסס-Compose ומבוסס-View לפי התוכן שלהם. - עכשיו המפתחים יכולים להגדיר ערכים מותאמים אישית משלהם ל-
SpatialElevationLevel, והם לא מוגבלים לרמות שהוגדרו מראש. - עכשיו אפשר להתאים אישית את רמת הגובה של Orbiter באמצעות הפרמטר
elevation. - עכשיו אפשר להגביל את המרחב המשני לפי שדה הראייה של
SpatialUserברוחב ובגובה כברירת מחדל. אם אי אפשר לקבוע את שדה הראייה, המערכת משתמשת בערכי ברירת המחדל של הרוחב והגובה של שדה הראייה. - נוספו קריאות חוזרות (callbacks) חדשות,
onMoveStartו-onMoveEnd, למשתנהMovable. הקריאות החוזרות (callbacks)onMoveStartו-onMoveEndנקראות כשהמשתמש מתחיל ומסיים להזיז רכיב קומפוזבילי של מרחב משנה באמצעות המשתנה הניתן להזזה. - הפרמטר
nameהוסר מממשקי API מרחביים כמוSpatialRowו-SpatialPanel. כדי לנפות באגים בעצי קומפוזיציה מרחביים, צריך להשתמש במקום זאת ב-SubspaceModifier.testTag. - הוסר עומס יתר לא נתמך של
SpatialPopupשיש לו רקspatialElevationLevelו-content. צריך להשתמש בממשק שתומך ב-onDimissRequest. - הקריאה החוזרת (callback) של
onPoseChangeמהמשתנה Movable הוסרה. במקומה צריך להשתמש במדיניותonMove. - האפקטים של
SubspaceModifiersלא יחולו יותר אם הם מנותקים או בתהליך ניתוק. - ה-API הקיים של
SpatialRowפוצל ל-SpatialRowול-SpatialCurvedRow. אם השתמשת בעבר בפרמטרcurveRadiusשלSpatialRow, עליך להשתמש עכשיו ב-SpatialCurvedRowבמקום זאת, שמציע את אותה התנהגות. - ב-
MainPanelוב-ActivityPanelאין יותר שורות כותרת כשהם פועלים בקובץ אימג' של מערכת עדכנית דומה. - עכשיו אפשר להוסיף כמה משתני אלפא וקנה מידה, והערכים שלהם יוכפלו כדי לקבל את ערך האלפא או קנה המידה הסופי.
- ביצענו אופטימיזציה לקריאה החוזרת (callback) של
onPoseChangeמהמשתנה Movable כדי שהתנועה של התנוחה תהיה חלקה יותר. - המשתנים לשינוי המיקום והגודל יבצעו עכשיו את הקריאות החוזרות (callbacks) שלהם בשרשור הראשי, כדי להבטיח ששינויי המצב יפעילו הרכבה מחדש.
- הוספנו תצפית על המצב לשלבי הפריסה והמדידה כדי לוודא ששינויים במצב ב-
SubspaceLayoutיגרמו לפריסה מחדש. - עדכונים לשרשרת של משתני הצירוף שעברו אופטימיזציה, כדי לשפר את השימוש החוזר במשתני הצירוף הקיימים.
תיקוני באגים
- הפסקת ההחשכה כשמוצג
SpatialDialog. (Ic4594) - מעכשיו, המערכת תתעלם מבקשות לשינוי פריסה שיתבצעו בזמן שצומתי המשתנים מנותקים.
- הוסרו שלבי פריסה מחדש שהופעלו על ידי משתני שינוי של Movable ו-Resizable.
- תוקנה קריסה ברכיב ה-composable
MainPanel()שהתרחשה כשאחד מהממדים הוגדר לאפס, באופן ישיר או במהלך חישוב פריסה, למשל חישובSpatialRow/SpatialColumn. מעכשיו החלונית תוסתר. חשוב לציין שהתיקון הזה מתייחס ספציפית לקריסות במהלך שלב הפריסה. שינוי גודל החלונית לאפס באמצעות אינטראקציה של המשתמש יטופל בנפרד. בחלונית המוסתרת חסרים רמזים חזותיים בממשק המשתמש. - תוקנה בעיה שקשורה ל-
maintainAspectRatioמהמשתנה לשינוי הגודל. עכשיו יחס הגובה-רוחב אמור להישמר. - תוקנה בעיה שבה מרחבי משנה מקוננים הוצגו במיקום שגוי בפריים בודד.
- תוקנה בעיה שבה לפעמים לא הוחלו פינות מעוגלות כשהיה צריך להחיל אותן.
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, והוא יצרף את Orbiters לרכיב ההורה הקרוב ביותר שמבוסס עלSubspaceLayout. - הוספנו את
LayoutCoordinatesAwareModifierNodeכדי לאפשר שינויים מותאמים אישית שמבוססים על מיקום. - נוספו שיטות מחזור חיים של צירוף/ניתוק ל-
SubspaceModifier.Node. - הוספנו את
scaleWithDistanceלמגביל הניתן להזזה. כשהאפשרותscaleWithDistanceמופעלת, הרכיב של מרחב המשנה שהועבר יגדל או יקטן. הוא גם ישמור על קנה המידה המפורש שהיה לו לפני ההזזה.
שינויים ב-API
- הסרנו את
SessionCallbackProviderוהוספנו אתSpatialCapabilities.
שינויים אחרים
- הערך של
minSDKהופחת ל-24. כל ממשקי ה-API של Jetpack XR עדיין דורשים את API 34 בזמן הריצה. - ה-constructors של
OrbiterEdgeOffset.inner,EdgeOffset.outerו-EdgeOffset.overlapהם כבר לא methods של@Composable, מה שמאפשר להשתמש בהם בהקשרים שאינם composable. - עדכון רמות הגובה המרחביות כך שיתאימו למפרט העדכני של חוויית המשתמש.
- מטמיעים את הממשק
SubspaceSemanticsInfoב-MeasurableLayout. - השם של
SubspaceModifierElementשונה ל-SubspaceModifierNodeElement.
תיקוני באגים
- תיקונים לייצוב ההזמנות ב-
SubspaceModifier. האפליקציהSubspaceModifierאמורה לפעול בצורה אמינה יותר. עכשיו אפשר להשתמש בשינוי של היסט, סיבוב, שינוי קנה מידה, הזזה ושינוי גודל בכל סדר.
גרסה 1.0.0-alpha01
12 בדצמבר 2024
androidx.xr.compose:compose-*1.0.0-alpha01 מופץ.
תכונות בגרסה הראשונית
השקנו גרסה ראשונית של Jetpack Compose for XR למפתחים. אתם יכולים להשתמש במושגים מוכרים של פיתוח נייטיב, כמו שורות ועמודות, כדי ליצור פריסות של ממשק משתמש מרחבי ב-XR, בין אם אתם מעבירים אפליקציית דו-ממד קיימת ל-XR או יוצרים אפליקציית XR חדשה מאפס. הספרייה הזו מספקת רכיבים קומפוזביליים של מרחב משנה ומרחב: כמו לוחות מרחביים ורכיבי Orbit, שמאפשרים למקם את ממשק המשתמש הקיים ב-Compose דו-ממדי או מבוסס-תצוגות בפריסה מרחבית. היא כוללת את הרכיב Volume subspace composable, שמאפשר למקם ישויות של SceneCore, כמו מודלים תלת-ממדיים, ביחס לממשק המשתמש. מידע נוסף זמין במדריך למפתחים:
Subspace: אפשר למקם את ה-composable הזה בכל מקום בהיררכיית ממשק המשתמש של האפליקציה, וכך לשמור על פריסות של ממשק משתמש דו-ממדי ומרחבי בלי לאבד את ההקשר בין הקבצים. כך קל יותר לשתף דברים כמו ארכיטקטורת אפליקציה קיימת בין XR לבין גורמי צורה אחרים, בלי צורך להעלות את המצב דרך כל עץ ממשק המשתמש או לשנות את הארכיטקטורה של האפליקציה.SpatialPanel: פאנל מרחבי הוא רכיב קומפוזבילי של מרחב משנה שמאפשר להציג תוכן של אפליקציה – לדוגמה, אפשר להציג הפעלת וידאו, תמונות סטילס או כל תוכן אחר בפאנל מרחבי.
Orbiter: רכיב ממשק משתמש מרחבי. הוא מיועד לחיבור לחלונית מרחבית תואמת, ומכיל פריטי ניווט ופעולות לפי הקשר שקשורים לחלונית המרחבית הזו. לדוגמה, אם יצרתם חלונית מרחבית להצגת קטע וידאו, אתם יכולים להוסיף רכיבי UI להפעלה של סרטונים בתוך חלונית צפה.
נפח: הצבת ישויות SceneCore, כמו מודלים תלת-ממדיים, ביחס לממשק המשתמש.
פריסה מרחבית: אתם יכולים ליצור כמה חלוניות מרחביות ולמקם אותן בפריסה מרחבית באמצעות
SpatialRow,SpatialColumn,SpatialBoxו-SpatialLayoutSpacer. אפשר להשתמש בSubspaceModifierכדי להתאים אישית את הפריסה.רכיבים מרחביים של ממשק המשתמש: אפשר להשתמש ברכיבים האלה שוב בממשק המשתמש הדו-ממדי, והמאפיינים המרחביים שלהם יהיו גלויים רק כשהיכולות המרחביות מופעלות.
-
SpatialDialog: החלונית תזוז מעט אחורה בעומק ציר ה-Z כדי להציג תיבת דו-שיח מוגבהת. -
SpatialPopUp: החלונית תזוז מעט אחורה בציר Z כדי להציג חלון קופץ מוגבה -
SpatialElevation: אפשר להגדיר אתSpatialElevationLevelכדי להוסיף גובה.
-
SpatialCapabilities: היכולות המרחביות יכולות להשתנות כשהמשתמשים מבצעים פעולות באפליקציה או במערכת, או אפילו על ידי האפליקציה עצמה – למשל, מעבר למרחב הבית או למרחב המלא. כדי למנוע בעיות, האפליקציה צריכה לבדוק את
LocalSpatialCapabilities.currentכדי לקבוע אילו ממשקי API נתמכים בסביבה הנוכחית.isSpatialUiEnabled: רכיבים מרחביים בממשק המשתמש (למשל SpatialPanel)isContent3dEnabled: אובייקטים תלת-ממדייםisAppEnvironmentEnabled: הסביבהisPassthroughControlEnabled: אם האפליקציה יכולה לשלוט במצב המעבר או לאisSpatialAudioEnabled: אודיו מרחבי
בעיות מוכרות
- נכון לעכשיו, כדי להשתמש ב-Jetpack Compose ל-XR נדרשת גרסת minSDK של 30. כדי לעקוף את הבעיה, אפשר להוסיף את רשומת המניפסט הבאה
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>כדי לבנות ולהפעיל עם minSDK של 23. - נכון לעכשיו, אפליקציות Jetpack XR צריכות לבקש את ההרשאה
android.permission.SCENE_UNDERSTANDINGב-AndroidManifest. - כשאפליקציה מופעלת ישירות במרחב מלא באמצעות המאפיין
PROPERTY_XR_ACTIVITY_START_MODEבמניפסט שלה, הפעילויות או האפליקציות נפתחות קודם במרחב הבית לפני שהן עוברות למרחב מלא. - קבצי glTF ב-Volume Composables עשויים להבהב בהתחלה במיקום הלא נכון.
- אם משתמשים ב-SpatialDialog בחלונית שהוזזה באופן משמעותי, התוכן יידחף לכיוון הלא נכון.