Jetpack Compose cho XR
| Bản cập nhật mới nhất | Bản phát hành ổn định | Bản phát hành dùng thử | Bản phát hành beta | Bản phát hành alpha |
|---|---|---|---|---|
| Ngày 21 tháng 10 năm 2026 | - | - | 1.0.0-beta02 | - |
Khai báo phần phụ thuộc
Để thêm một phần phụ thuộc vào XR Compose, bạn phải thêm kho lưu trữ Maven của Google vào dự án của mình. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.
Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:
Groovy
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") }
Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.
Ý kiến phản hồi
Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.
Xem tài liệu về Trình theo dõi sự cố để biết thêm thông tin.
Phiên bản 1.0
Phiên bản 1.0.0-beta02
Ngày 21 tháng 10 năm 2026
Phát hành androidx.xr.compose:compose:1.0.0-beta02 và androidx.xr.compose:compose-testing:1.0.0-beta02. Phiên bản 1.0.0-beta02 bao gồm các thay đổi sau.
Thay đổi về API
- Các thư viện hiện nhắm đến Kotlin 2.2 và yêu cầu kotlinc 2.2 (I82396, b/498369605)
- Đổi tên tham số
halfLifeMscủaFollowMode.soft()thànhhalfLifeMillis. (I39187) - Chuyển đổi
PitchLimitsthành@JvmInline value class, đóng gói hai số thực vào mộtLongđể loại bỏ việc phân bổ đối tượng. (Id43c3) - Thêm tham số mới cho
FollowMode.soft: tham sốhalfLifeMs,startDelayvàstartThresholds. Đã xóa tham sốdurationMsvì không còn cần thiết khi chúng ta chuyển từ thuật toánsmoothStepsang thuật toánexponentialDecay. (If0140) - Xoá phương thức nạp chồng
SpatialActivityPanelkhông dùng nữa. Thay vào đó, hãy sử dụng phương thức nạp chồng củaSpatialActivityPanelchấp nhậnSpatialActivityPanelController. (I5abc3) - Cho phép chuyển đổi giữa nội dung Composable 3D và 2D trong một Hoạt động trong
FullSpaceMode. Thay đổi này doSpatialComposeFlags.isMainPanelResetOnSubspaceDisposeEnabledkiểm soát. (I4e237) - Hiển thị tình trạng quá tải
Subspacethử nghiệm, lấy tham sốFollowTargetđể hỗ trợ nội dung sau. (Iec1a9) - Xoá các đối tượng sửa đổi có thể di chuyển không còn được dùng nữa. Thay vào đó, hãy sử dụng đối tượng sửa đổi có thể di chuyển mới chấp nhận
MovePolicymới làm tham số. (Ib135d) - Xoá
DragPolicykhông dùng nữa. Thay vào đó, hãy sử dụngSubspaceModifier.movable(). (I108d4) - Ngừng sử dụng các phương thức nạp chồng
SlidervàRangeSliderkhông có trạng thái để thay bằng các phiên bản có trạng thái. Đổi tênactiveRangeStartvàactiveRangeEndtrongRangeSliderStatethànhstartValuevàendValue, ngừng sử dụng các API Thanh trượt thử nghiệm và chưa được quảng bá cũ hơn bằngDeprecationLevel.HIDDEN. (If8995)
Sửa lỗi
- Đã khắc phục
RotateToLookAtUserbằng cách giới thiệuposeInActivitySpaceđể đảm bảo tính toán tư thế chính xác cho tất cả các loại không gian con, bao gồm cả những không gian con được đính kèm vào neo hoặc người dùng.Ica367b - Khắc phục sự cố về Ràng buộc khi Orbiter được đính kèm vào các bảng điều khiển lớn (I8c4bf)
- Khắc phục lỗi trong
SubspaceLayoutNode, trong đóremoveAll()gây ra các lượt phân bổArrayListkhông cần thiết. Cũng đã khắc phục hiệu suất tính toán độ sâu. (I34a10a) - Phần phụ thuộc
androidx.lifecycle:lifecycle-runtimeđã được cập nhật lên phiên bản 2.10.0. Bạn cần có phiên bản này để chạy các quy trình kiểm tra tìm lỗi mã nguồn trong thời gian chạy của vòng đời đi kèm với AGP phiên bản 9.5.0-alpha04 trở lên. (I99bfd, b/556807521) - Cải thiện kdocs liên quan đến
AudioOutputProviderđể làm nổi bật rằng không nên sử dụng lại kdocs với nhiều thực thểExoPlayer(I6b18e) - Khắc phục các vấn đề nhỏ về chính tả và ngữ pháp trong kdoc (Id3ba6)
Lỗi đã biết
- Phiên bản
androidx.xr.composenày có phần phụ thuộc vàoandroidx.xr.scenecore:1.0.0-rc01, là phần phụ thuộc có lỗi rò rỉ bộ nhớ đã biết. Trong cấu hình bản dựng, bạn có thể ghi đè rõ ràng phần phụ thuộcSceneCorethành phiên bản1.0.0, trong đó có bản sửa lỗi rò rỉ bộ nhớ.
Phiên bản 1.0.0-beta01
Ngày 23 tháng 9 năm 2026
Phát hành androidx.xr.compose:compose:1.0.0-beta01 và androidx.xr.compose:compose-testing:1.0.0-beta01. Phiên bản 1.0.0-beta01 bao gồm các thay đổi sau.
Thay đổi về API
- Đã xóa
DragPolicykhông còn được dùng nữa. Thay vào đó, hãy sử dụngSubspaceModifier.movable(). (I108d4) - Đã xóa
ResizePolicyngừng hoạt động và cách sử dụng trongSpatialPanelvàSpatialExternalSurface. Xoá hàmSubspaceModifier.resizablekhông dùng nữa. Thay vào đó, hãy sử dụngSubspaceModifier.resizablemới vớiResizePolicymới. (I59e6b) - Thêm tham số
isPitchUpdateEnabledđể cho phép bật hoặc tắt tính năng theo dõi cao độ một cách độc lập. (Ie9e86) - Xoá tính chất rỗng của
pitchLimitsvà đổi tênPitchLimits.UNCONSTRAINEDthànhPitchLimits.FullRange. (I0154f) ExposedDropdownMenuhiện là một hàm mở rộng trênExposedDropdownMenuBoxScopethay vì là một thành viên. Bạn có thể cần cập nhật mã bằng một lệnh nhập mới. (Ie8a65)- Đã xóa lớp
SurfaceProtectionkhông dùng nữa. Thay vào đó, hãy sử dụngSpatialExternalSurfaceProtection. (Iab2c6) - Hàm Orbiter nhận
OrbiterPoseProviderđã ngừng hoạt động và được thay thế bằng hàm sử dụngSpatialAlignment. (I4d12b) SpatialActivityPanelhiện yêu cầuSpatialActivityPanelController(được tạo thực thể bằngrememberSpatialActivityPanelController) để chạy và quản lý các hoạt động được nhúng. (Id25c6)- Xoá tham số
upDirectionkhỏirotateToLookAtUservà thêm các tham số ràng buộc xoay (isYawUpdateEnabledvàpitchLimits). (I1370a)
Sửa lỗi
- Khắc phục nhiều vấn đề về
InteractionPolicy. Sự cố xảy ra nếu một sự kiện đầu vào xảy ra ngay khi Thành phần kết hợp hoặc thành phần con (ví dụ: Orbiter) bắt đầu trình tự loại bỏ. Đồng thời khắc phục vấn đề trong đó thành phần con sẽ nhận được sự kiện di chuột. (Ifc477) - Giảm kích thước bảng điều khiển trong
RotateToLookAtUserActivityđể tránh bị cắt bớt trên các thiết bị có trường nhìn nhỏ hơn. (I8d672)
Lỗi đã biết
- Có một vấn đề với bảng điều khiển Compose XR, trong đó việc tạo nhiều bảng điều khiển trong một Hoạt động có thể gây ra một số lỗi về nội dung đang xem ngay cả sau khi các bảng điều khiển bị huỷ.
Phiên bản 1.0.0-alpha17
Ngày 12 tháng 8 năm 2026
Phát hành androidx.xr.compose:compose:1.0.0-alpha17 và androidx.xr.compose:compose-testing:1.0.0-alpha17. Phiên bản 1.0.0-alpha17 bao gồm các thay đổi sau.
Thay đổi về API
- Xoá lớp giá trị
Meter, lớp này được thay thế bằngvirtualPixelDensitytrongScenecore. (I690ee) - API
SpatialGltfModelhiện đang thử nghiệm và bạn phải chọn sử dụng. (I4557e) - Đặt
systemcó thể đổi kích thước thành rỗng (Ib0093) - Đã hiển thị
DensitytrongSubspaceSemanticsInfođể kiểm thử. (I2e826) - Đổi tên tuỳ chọn mặc định
ResizePolicythànhsystemvà thêm tuỳ chọnDefaultmới không có tham số (Ic8b16) - Đánh dấu
FollowTargetlà thử nghiệm. Toàn bộ APIFollowingSubspacehiện đang thử nghiệm. (Id4ee3) - Xoá các API
GltfAnimation(Ic2894) - Đổi tên phương thức
MovePolicy.default()có tham số thànhMovePolicy.system(). Ra mắt thuộc tínhval MovePolicy.Defaultđể thể hiện hành vi di chuyển mặc định chuẩn. (Iedcc9) - Mở rộng yêu cầu chọn sử dụng
ExperimentalMoveAnchorPolicychoPlaneSemanticvàPlaneOrientation(Ief927) - Xoá
resetMinskhỏiVolumeConstraints.offset(Ib2f2f) - Đã xóa hàm
SceneCoreEntitySizeAdapterkhông dùng nữa. (Ib6722) - Đã xóa phương thức nạp chồng
Subspacekhông dùng nữa bằngallowUnboundedSubspace. (I8e97f) - Đã xóa phương thức nạp chồng đối tượng sửa đổi ngữ nghĩa không dùng nữa. (I4ac10)
Sửa lỗi
- Khắc phục vấn đề trong đó các thành phần con của
Composablecó đính kèmInteractionPolicykích hoạt sự kiện đầu vào (Icdba6)
Phiên bản 1.0.0-alpha16
Ngày 15 tháng 7 năm 2026
Phát hành androidx.xr.compose:compose:1.0.0-alpha16 và androidx.xr.compose:compose-testing:1.0.0-alpha16. Phiên bản 1.0.0-alpha16 bao gồm các thay đổi sau.
Thay đổi về API
- Xoá các API
ComponentOverride(I820c4) - Các API
GltfAnimationvàSpatialGltfModelAnimationđã được đánh dấu là thử nghiệm. Một số thuộc tính đã được chuyển thành phương thức getter. (I8d689, b/524771027) - Khắc phục hành vi mật độ tổng thể bằng cách thiết lập giá trị chuyển đổi giữa Mét và pixel thành hằng số. Meter.kt không còn được dùng nữa, giờ đây bạn có thể sử dụng
Session.scene.virtualPixelDensityđể thay thế. (I122ff, b/430097855, b/474168798) - Cập nhật đối tượng sửa đổi có thể đổi kích thước để sử dụng một
ResizePolicythay vì hai đối tượng sửa đổi (I7fb0f, b/496257436, b/519672992) - Thêm tham số dung sai:
Dp = Dp(0.5f)vào tất cả các câu nhận định về vị trí và kích thước dấu phẩy động công khai trongSubspaceAssertions.kt. Hành vi dung sai mặc định (0.5.dp) được ghi lại đầy đủ. (I266cb, b/521491915) - Thêm phương thức nạp chồng có thể di chuyển bằng tham số
movePolicyvà ngừng sử dụngtransformingMovablevàmovable(Ic88c1, b/481781189) - Thêm các biến thể mới không tương tác của mục danh sách chuẩn và mục danh sách được phân đoạn theo thông số kỹ thuật của Material Expressive. Phiên bản không biểu cảm đã ngừng hoạt động. (Ide4de, b/491994186)
- Đối với Subspace, tham số
allowUnboundedSubspacehiện không được dùng nữa và bị ẩn. Giờ đây, bạn có thể đạt được hành vi không giới hạn bằng cách sử dụngSubspaceModifier.requiredSizeIn(maxWidth=Dp.Infinity,maxHeight=Dp.Infinity,maxDepth=Dp.Infinity) trên đối tượng sửa đổi Subspace. Tham sốallowUnboundedSubspaceđã bị xoá khỏiFollowingSubspace. (Ia72ae, b/433624021) - Chuyển đổi
Session.createthành hàm tạm ngưng. (I5d27f) - Thêm
SubspaceModifier.spatializedAudioOutputcho phép phát âm thanh không gian thông quaExoPlayerhoặc thông quaSoundEffectPlayer(I46697, b/489421980, b/497867019) - Cập nhật
ComponentActivity.requestHomeSpace()vàrequestFullSpace()để trả vềSpaceRequestResultcho việc xác minh trạng thái. (If1672) - Cập nhật
AnchorEntitythànhAnchorSpace(Ifa95e, b/513619219) - Phương thức
fromResourcekhông bị hạn chế từSpatialGltfModelSource(I1f5a1, b/503047416) - Các thành viên
SubspaceSemanticsMatcherở chế độ công khai: thuộc tínhdescription, phương thức nhà máy đồng hành (expectValue,keyIsDefined,keyNotDefined), hàm thành viên (matches,matchesAny) và toán tử (and,or,not). (I972a4, b/460427288) - Cập nhật
SubspaceModifier.semantics,SubspaceModifier.testTag,SubspaceSemanticsInfo,SubspaceSemanticsModifierNodeđể sử dụng các loại ngữ nghĩa không gian được tuyển chọn. (I80dea, b/460427288) - Đổi tên
positionthànhaligntrongSpatialAlignmentvà xoá các phương thức bù trừ hướng riêng lẻ để chuyển sang APIalignhợp nhất. (I9bdb2, b/479805937) - Đã xóa các API Chế độ không gian không dùng nữa khỏi
SpatialConfiguration. (I1ef5c, b/458712461) - Ra mắt
SubspaceSemanticsConfiguration. Đây là cấu hình của các thuộc tính ngữ nghĩa cho một nút Không gian. Lớp này hiển thị các phương thức truy vấn một cách an toàn cho ngữ nghĩa 3D mà không làm rò rỉ các chức năng ngữ nghĩa 2D cơ bản cho người dùng bên ngoài. (Id025e, b/460427288) - Ra mắt
SubspaceSemanticsPropertyReceiver: một trình bao bọc chuyên dụng giúp giới hạn các thuộc tính vùng chứa bố cục 3D ở các trường hợp lệ (ban đầu làtestTagvàcontentDescription). (I5cf5c, b/460427288)
Sửa lỗi
- Cập nhật
hasContentDescriptioncủa đối tượng sửa đổi Ngữ nghĩa để mặc định so khớp chuỗi con. (I08214) - Thêm
FollowBehavior.ExponentialDecay()bị hạn chế, cung cấp hành vi theo dõi mềm được hướng dẫn bằng vật lý đàn hồi. (I7449c, b/485639909, b/500493335)
Hầu hết các API sẽ chịu ảnh hưởng của việc này. Cụ thể, LocalSession CompositionLocal và tất cả CompositionLocals phụ thuộc vào LocalSession (ví dụ: LocalSpatialConfiguration, LocalSpatialCapabilities, v.v.) giờ đây sẽ phân giải thành null hoặc các phiên bản không phải XR trước khi Session được khởi chạy.
Sau khi có Session, quá trình kết hợp lại sẽ được kích hoạt với trạng thái chính xác. (I0cfa4, b/514712835, b/514712835)
- Làm rõ tài liệu về
ComponentActivity.requestHomeSpacevàComponentActivity.requestFullSpaceliên quan đến hành vi tạm ngưng, huỷ và đồng thời. Cập nhật các bài kiểm thử để xác minh việc truyềnCancellationException. (I22f75, b/493289528)
Phiên bản 1.0.0-alpha15
Ngày 17 tháng 6 năm 2026
Phát hành androidx.xr.compose:compose:1.0.0-alpha15 và androidx.xr.compose:compose-testing:1.0.0-alpha15. Phiên bản 1.0.0-alpha15 bao gồm các thay đổi sau.
Thay đổi về API
- Ngừng sử dụng
ResizePolicyvà đối tượng sửa đổi có thể đổi kích thước cũ, thay thế bằng phương thức nạp chồngSubspaceModifier.resizablemới vàSubspaceModifier.transformingResizable. (I9e4bc) - Cập nhật API
SpatialGltfModel: Thêm tính năng hỗ trợ tải mô hình từ tài nguyên thông quaSpatialGltfModelSource.fromResource. Đổi tên tốc độ thànhplaybackSpeedtrongSpatialGltfModelAnimationvà thêm phương thức resume().SpatialGltfModelStatus.Loaded và Loading hiện là các đối tượng. (I523de) - Đánh dấu
rotateToLookAtUserlà một API thử nghiệm. (I86c16) - Đã di chuyển và đổi tên biến được bảo vệ
targetCurrentPosethành biến cục bộcurrentTargetPoseMeter. (Ia557c) - Cập nhật kdoc
SpatialPanelvàSpatialExternalSurfaceđể bao gồm vị trí hiển thị đối tượng trong kích thước bố cục (I72104) - Đóng gói logic tải
SpatialGltfModeltrongSpatialGltfModelStatevà làm rõ hành vi lỗi. (Ibe98b) - Làm rõ
depthtrong kdocsSubspaceModifer.size(I0f84f)
Phiên bản 1.0.0-alpha14
Ngày 19 tháng 5 năm 2026
Phát hành androidx.xr.compose:compose:1.0.0-alpha14 và androidx.xr.compose:compose-testing:1.0.0-alpha14. Phiên bản 1.0.0-alpha14 bao gồm các thay đổi sau.
Thay đổi về API
- Ra mắt
transformingMovablecho chuyển động 3D mặc định do hệ thống xử lý và ra mắt một phương thức nạp chồng mới chomovableđể xử lý các hành vi chuyển động tuỳ chỉnh. (I50960) - Xoá
SpatialGltfModel.fromData(). (I4d083) - Thêm một giao diện nút đối tượng sửa đổi mới,
SubspaceMeasuredSizeAwareModifierNode, cung cấp lệnh gọi lạionRemeasuredsau khi đo lường.SubspaceLayoutAwareModifierNodehiện mở rộng giao diện mới này. Đối tượng sửa đổionSizeChangedđã được cập nhật để sử dụngonRemeasured, đảm bảo lệnh gọi lại được kích hoạt ngay sau khi đo lường, chứ không phải sau khi đặt. (Iafbae) - Cập nhật
InteractionPolicythànhInterface(I0ff30) - Cập nhật Compose
compileSdklên API 37. Điều này có nghĩa là bạn cần có AGP phiên bản tối thiểu là 9.2.0 khi sử dụng Compose. (Id45cd) - Đã cập nhật kdocs
Size(Iefa9a)
Phiên bản 1.0.0-alpha13
Ngày 6 tháng 5 năm 2026
Phát hành androidx.xr.compose:compose:1.0.0-alpha13 và androidx.xr.compose:compose-testing:1.0.0-alpha13. Phiên bản 1.0.0-alpha13 bao gồm các thay đổi sau.
Thay đổi về API
- Orbiter API đang chờ các thay đổi bổ sung, bạn nên tắt thông báo ngừng sử dụng cho Orbiter và theo dõi các thay đổi của Orbiter trong các bản phát hành sắp tới.
- Những người sử dụng
SceneCoreEntityđể kết xuất glTF phải đảm bảo rằng họ đang truyềnsession.scene.activitySpaceđến tham sốparentcủa lệnh gọiGltfModel.createđể đảm bảo rằng glTF của họ sẽ kết xuất. - Thêm API
SpatialGltfModelđể cho phép nhà phát triển thêm Gltf vào ứng dụng Compose cho XR. Nhà phát triển cũng có thể truy vấn ảnh động và nút bên trong mô hình Gltf của họ. (I8b542, b/495422586) - Thay đổi
SceneCoreEntitySizeAdaptertừ lớp thành giao diện (I5a784, b/475292310) - Đổi tên
SurfaceProtectionthànhSpatialExternalSurfaceProtection. Cập nhật kdocsSpatialExternalSurface(Ifad0a, b/485231082) - Ngừng sử dụng
currentWindowAdaptiveInfovà ra mắt phiên bản 2 (I40ecf, b/424442112) - Đối tượng sửa đổi
resizablehiện ở chế độ công khai và áp dụng cho các nhóm (ví dụ:SpatialRow). (I2bcf6, b/348483527, b/489753178, b/479530787) - Đối tượng sửa đổi
movablehiện được công khai. Đối tượng sửa đổi này hiện hoạt động tốt choSpatialPanelsvàSpatialExternalSurface; tuy nhiên, mục đích là để hỗ trợ tốt cho tất cảSubspaceComposables. (I9a3cd, b/479530787, b/478935063, b/478935063) SpatialEnterTransitionvàSpatialExitTransitionđược đánh dấu là@Immutable(If1710, b/487757837)- API
SpatialGltfModelđược đánh dấu là bị hạn chế trong bản phát hành này trong khi chờ thử nghiệm thêm. (Ibf003, b/466090694) - Đổi tên
DeviceTrackingMode.LAST_KNOWNthànhSPATIAL_LAST_KNOWN(với tính năng dự phòng không dùng nữa), thêmINERTIAL_LAST_KNOWNđể theo dõi 3DoF và thêmTRACKING_DEGRADEDvàoTrackingState. (Ie661c, b/445466590) - Xoá
SpatialLayoutSpacerkhông dùng nữa (I7b36c) - Xoá API khoảng đệm không dùng nữa (If1886)
- Thêm
floatRangevào giá trị độ lệch. Đã xóa giá trị mặc định choLayoutDirection(I9d74e)
Sửa lỗi
- Thêm mã mẫu và tài liệu KDoc cho
SpatialColumn,SpatialRowvàSpatialCurvedRow. (Iaf54f, b/495777633)
Phiên bản 1.0.0-alpha12
Ngày 25 tháng 3 năm 2026
Phát hành androidx.xr.compose:compose:1.0.0-alpha12 và androidx.xr.compose:compose-testing:1.0.0-alpha12. Phiên bản 1.0.0-alpha12 bao gồm các thay đổi sau.
Thay đổi về API
- Thêm API
SpatialGltfModelvà APISpatialGltfModelAnimationđể kết xuất glTF và kiểm soát ảnh động. Thay đổiSpatialGltfModelStatethànhAutoCloseable, giờ đây, bạn cần đóng để giải phóng tài nguyên. (I11fde, b/466065486, b/481379924). Tuy nhiên, APISpatialGltfModelđược đánh dấu là bị hạn chế trong bản phát hành này trong khi chờ thử nghiệm thêm. (Ibf003, b/466090694) - Thêm phương thức nạp chồng trống không dùng nữa cho
SubspaceModifier.rotate. (Idceb6) - Đổi tên hàm
SpatialSmoothFeatheringEffectthànhspatialSmoothFeatheringEffectvà chuyển hàm này sang mô-đun vẽ. Cập nhật giá trị làm mờ mặc định củaSpatialExternalSurfacethành rỗng, mô phỏng chức năng ZeroFeatheringEffect cũ. (I5fdaa, b/460426800) - Đã xoá
onPointSourceParamsAvailable. Một API tạo không gian âm thanh khác sẽ sớm ra mắt. (I86507, b/458513439) - Thêm hành vi RTL cho đối tượng sửa đổi không gian phụ bù trừ. Đồng thời thêm
absoluteOffsetđể bỏ qua hướng bố cục. (I30e4b, b/474409165)
Phiên bản 1.0.0-alpha11
Ngày 25 tháng 2 năm 2026
Phát hành androidx.xr.compose:compose:1.0.0-alpha11 và androidx.xr.compose:compose-testing:1.0.0-alpha11. Phiên bản 1.0.0-alpha11 bao gồm các thay đổi sau.
Tính năng mới
- Thêm tham số
SuperSamplingvàoSpatialExternalSurfaces(Icd4d1)
Lỗi đã biết
- Vấn đề với
SurfaceEntitytrong SceneCore có thể khiến ứng dụng gặp sự cố khi tạo các thực thể củaSpatialExternalSurface. Vấn đề này đã được giải quyết trongandroidx.xr.scenecore:scenecore-*:1.0.0-alpha13,androidx.xr.compose:compose:1.0.0-alpha12và các bản phát hành tiếp theo. Các ứng dụng bị ảnh hưởng nên cập nhật lên phiên bản mới nhất.
Thay đổi về API
- Thay đổi khoảng đệm của đối tượng sửa đổi không gian con để nhận biết hướng bố cục. (I53e25)
SpatialCapabilitieshiện đã được niêm phong và không thể gia hạn. (I07aef)- Các API
SpatialRowvàSpatialColumnchấp nhận tham sốSpatialAlignmentchung không còn được dùng nữa; thay vào đó, hãy sử dụng các API chấp nhậnverticalAlignmenthoặchorizontalAlignmentchoSpatialRowvàSpatialColumntương ứng. (Iec390) - Kết hợp các API hàm
SubspaceLayoutnạp chồng (Idd30a) - Đổi tên
SubspaceModifier.lookAtUserthànhrotateToLookAtUservà tham sốupthànhupDirection. (Icafb8) - Tạo
SpatialRowthành một hàm cùng dòng (Ia2f20) - Tạo
SpatialColumnthành một hàm cùng dòng (I681be) - Đã xóa API biển quảng cáo (Ib76cd)
Phiên bản 1.0.0-alpha10
Ngày 28 tháng 1 năm 2026
Phát hành androidx.xr.compose:compose:1.0.0-alpha10 và androidx.xr.compose:compose-testing:1.0.0-alpha10. Phiên bản 1.0.0-alpha10 bao gồm các thay đổi sau.
Thay đổi về API
- Xoá API không dùng nữa –
ApplicationSubspace(Ia6596, b/468345186) - Cập nhật
SpatialShapethành giao diện kín (I7e3f5, b/460426800) - Xoá các API không dùng nữa trong
SpatialAlignment. (Ib0b61, b/468011887) - Ngừng sử dụng
SpatialLayoutSpacervà ra mắtSpatialSpacer. (I2ebf3, b/466071383) - Cập nhật API
UserSubspaceđể thay thế thuật ngữ "khoá từng phần" bằng "khoá mềm". (I9ded1, b/464035984)
Phiên bản 1.0.0-alpha09
Ngày 3 tháng 12 năm 2025
Phát hành androidx.xr.compose:compose:1.0.0-alpha09 và androidx.xr.compose:compose-testing:1.0.0-alpha09. Phiên bản 1.0.0-alpha09 bao gồm các thay đổi sau.
Thay đổi về API
- Thêm đối tượng sửa đổi
LookAtUservà Billboard để nội dung luôn hướng về phía người dùng. (I49b99) - Thêm khả năng đặt
InteractionPolicythànhSpatialExternalSurfacesvàSpatialPanels, cho phép phát hiện lượt nhấp và các sự kiện đầu vào 3D khác. (Iae155) - Thêm kích thước và đối tượng sửa đổi
requiredSizequá tải với chiều rộng, chiều cao và chiều sâu dưới dạng giá trị Dp. (I92f79) - Giao diện
ParentLayoutParamsModifierhiện mở rộngDelegatableSubspaceNode. (I1a6d4) ApplicationSubspacekhông còn được dùng nữa và được thay thế bằng Subspace API.- Hành vi của Subspace API được thay đổi để chỉ cung cấp không gian con trên toàn ứng dụng ở tư thế và tỷ lệ được đề xuất.
- API
PlanarEmbeddedSubspaceđược ra mắt để cung cấp không gian con được nhúng trong bối cảnh 2D. (Id3343)
- Thêm cờ
shouldAutoInvalidatevào APISubspaceModifier.Node. (I93902) - Thêm API
required(Size|Width|Depth|Height)In cho phép nhà phát triển ràng buộc kích thước của@SubspaceComposabletrong một phạm vi cụ thể, bỏ qua các ràng buộc đo lường sắp tới của thành phần mẹ. (Ifaa78) - Thêm
SubspaceModifier.onSizeChangedcung cấp lệnh gọi lại đơn giản, tập trung để nhà phát triển phản ứng khi kích thước của@SubspaceComposablethay đổi. (I994f9) - Đã xóa Volume API. Bạn nên sử dụng API
SceneCoreEntitythay vì API Âm lượng. (I4162b) - Chia
SubspaceLayoutModifierNode.requestRelayoutthànhinvalidateMeasurement/invalidatePlacement. (I14805) - Thêm API
SpatialGltfModelcho phép nhà phát triển kết xuất glTF trong Compose. (Icc91f) - Ra mắt API composable
SpatialGltfModelđể dễ dàng kết xuất glTF (Iade67)
Sửa lỗi
- Khắc phục lỗi bố cục trong
SceneCoreEntity. Bây giờ, thành phần này sẽ tuân thủ đúng các quy tắc ràng buộc. (I11bb8) - Hạ cấp mô-đun jxr-compose xuống
Compile sdk = 34(I2d5db)
Phiên bản 1.0.0-alpha08
Ngày 22 tháng 10 năm 2025
Phát hành androidx.xr.compose:compose:1.0.0-alpha08 và androidx.xr.compose:compose-testing:1.0.0-alpha08. Phiên bản 1.0.0-alpha08 bao gồm các thay đổi sau.
Thay đổi về API
- Thay đổi
ResizePolicyđể chấp nhậnonResizeStart,onResizeUpdatevàonResizeEnd. (I7e21f)
Sửa lỗi
- Ngăn chặn sự cố khi huỷ một Hoạt động có Không gian con. (I595a1)
Phiên bản 1.0.0-alpha07
Ngày 24 tháng 9 năm 2025
Phát hành androidx.xr.compose:compose:1.0.0-alpha07 và androidx.xr.compose:compose-testing:1.0.0-alpha07. Phiên bản 1.0.0-alpha07 bao gồm các thay đổi sau.
Thay đổi về API
- Cải thiện KDocs cho
SpatialMainPanel. (I27b70, b/444467891) - Ra mắt
SpatialArrangementđể sắp xếp các thành phần con dọc theo trục chính trong bố cục 3D nhưSpatialRowvàSpatialColumn. API mới này cung cấp các tuỳ chọn sắp xếp quen thuộc từ Compose 2D, bao gồmStart,End,Center,SpaceBetween,SpaceAroundvàSpaceEvenly, hỗ trợ đầy đủ cho cả hướng bố cục từ trái sang phải (LTR) và từ phải sang trái (RTL). (I7db38, b/436289959) - Thêm giao diện cơ sở cho
SubspaceModifier.Nodeđể cải thiện khả năng hữu dụng và an toàn về kiểu của các giao diện tiện ích, chẳng hạn nhưCompositionLocalConsumerSubspaceModifierNodeLayoutCoordinatesAwareModifierNodeSubspaceLayoutModifierNodeCoreEntityNode(nội bộ) (Iede00, b/440599394, b/440599394)
- (I33315, b/439646773) Bỏ hạn chế
SpatialExternalSurface - Thêm
SubspaceModifiervào các thành phần kết hợp của Subspace và thay thế tham số ràng buộc bằngSubspaceModifierbằngSubspaceModifiersliên quan đến kích thước. NếuallowUnboundedSubspacelà true, thì Subspace vẫn có thể có các quy tắc ràng buộc không giới hạn. (Ib06e6, b/433331675) - Ngừng sử dụng
SubspaceModifierscó thể di chuyển và đổi kích thước vìDragPolicy()vàResizePolicy()hiện là một phần của APISpatialPanelvàSpatialExternalSurface(I397bf, b/437924639) - Thêm tính năng hỗ trợ cho
LayoutDirectiontrong bố cục không gian. Thành phần kết hợp sử dụngSpatialAlignmentgiờ đây sẽ định vị chính xác các phần tử trong cả bối cảnh LTR và RTL. (I964bb, b/436300273) - Thêm các tham số Resizable và Movable vào API
Panelđể đảm bảo rằng các hành vi này chỉ có thể áp dụng cho các vùng chứa được hỗ trợ. (Id491c) - Thêm
sizeIn,widthIn,heightIn,depthInSubspaceModifierscho phép bạn đặt các quy tắc ràng buộc tối thiểu và tối đa chính xác cho chiều rộng, chiều cao và chiều sâu. (I1af09, b/433330761)
Phiên bản 1.0.0-alpha06
Ngày 13 tháng 8 năm 2025
Phát hành androidx.xr.compose:compose:1.0.0-alpha06 và androidx.xr.compose:compose-testing:1.0.0-alpha06. Phiên bản 1.0.0-alpha06 bao gồm các thay đổi sau.
Sửa lỗi
- Tạo lại
ComposeXrOwnerLocalskhi chủ sở hữu vòng đời bị huỷ. (9123ce1)
Phiên bản 1.0.0-alpha05
Ngày 30 tháng 7 năm 2025
Phát hành androidx.xr.compose:compose:1.0.0-alpha05 và androidx.xr.compose:compose-testing:1.0.0-alpha05. Phiên bản 1.0.0-alpha05 bao gồm các thay đổi sau.
Tính năng mới
- Đặt lớp chú thích
SubspaceComposableở chế độ công khai. (Ic2a34, b/399432430) - Hai thành phần kết hợp
SpatialExternalSurfacemới đại diện cho hình cầu 180 và 360 độ. (I40ef2, b/391705799) - Thêm
SubspaceModifier.aspectRatio(Ide5ab, b/399729509, b/414762147) - Thêm API
SceneCoreEntityđể cải thiện khả năng tương tác giữaSceneCorevà Compose cho XR. (I50bb3, b/423020989) - Cung cấp API
GravityAlignedsubspaceđể hỗ trợ tính năngGravityAlignedchưa được điều chỉnh theo tỷ lệ (I07359)
Thay đổi về API
SpatialDialog()sẽ tuân theo cấu hình báo chí củaSpatialDialogProperties.dismissOnBack. (Ib453b, b/416797132)- Cập nhật
minimumPanelDimensionthành kích thước mới mặc định của Phương diện làDimensions(0.1f, 0.1f, 0.1f)do giá trị này được biểu thị bằng Mét. (Ib852a) - Giờ đây, Không gian phụ và Orbiter sẽ giữ lại trạng thái nội bộ trong không gian chính và khi ứng dụng ở chế độ nền. Ở chế độ không gian chính, Subspace vẫn sẽ thiết lập cảnh để chuẩn bị chuyển sang chế độ toàn bộ không gian. (I40317, b/416037751)
SpatialDialogsnay sẽ giữ lại trạng thái khi ứng dụng ở chế độ nền. (I6aa56)ApplicationSubspacegiờ đây sẽ kế thừa tỷ lệ và vị trí được đề xuất từ hệ thống. (I4565f, b/418834194)- Thêm thông báo lỗi hiệu quả hơn và kích hoạt lỗi sớm hơn khi
SubspaceComposableđược dùng trong ngữ cảnh không phảiSubspaceComposable. (Iee2ae, b/416484684) - Cập nhật
ExperimentalSubspaceVolumeApitừ Cảnh báo thành Lỗi vì cảnh báo thường bị bỏ qua khi sử dụng sai API có khả năng kết hợp. (I427aa, b/424864286) - Không gian con và
ApplicationSubspacehiện bị ràng buộc bởirecommendedContentBoxInFullSpace. Trước đây, tính năng này bị giới hạn bởi Trường nhìn củaSpatialUser. (I41015, b/423074142) - Cập nhật
SpatialElevationđể sử dụng kích thước tối thiểu thay vì kích thước được cố định giá trị trong mã (I2dbe6, b/427785338) - Cập nhật cách chúng tôi che
SpatialAcitivityPanelđể cập nhật khi một biến chính được sửa đổi. (I0f64d, b/427999029) - Xoá
VolumeConstraints.Unboundedđể đặt giá trị ràng buộc mặc định thành giá trị tương đương. (Ie24ec, b/407938414) SpatialFeatheringSizekhông còn ở chế độ công khai (I1c15b, b/399432430)- Đổi tên
Placeablecủa XR thànhSubspacePlaceableđể phân biệt vớiPlaceablecủa Compose. (I74874) - Xoá chế độ cài đặt Orbiter và thêm
shouldRenderInNonSpatiallàm tham số mới. Ngoài ra, hãy xoá lớpEdgeOffsetvà thêmorbiterOffsetTypelàm tham số mới để hợp nhất các hàmOrbiter(). Đồng thời đổi tênOrbiterEdgethànhContentEdge. (Iebf3d) - Đổi tên
MeasurablethànhSubspaceMeasurableđể phân biệt loại này với loạiMeasurablecủa Compose. (I9726c) - Đổi tên
MeasureResultthànhSubspaceMeasureResult(I9f34d) - Đã xóa API
setSubspaceContentđể ưu tiên sử dụngsetContentcủa Compose với composableSubspace. (Ifff4c, b/421427391, b/421427391) MeasurePolicyđổi tên thànhSubspaceMeasurePolicy. (I37a9b, b/422553904)- Chuyển
SubspaceSemanticsInfothành giao diện kín vì chúng tôi sẽ không thể thêm thành viên nếu không có giá trị mặc định. (I372f9, b/423704068) - Cập nhật tài liệu về
SpatialExternalSurface, đổi tênContentSecurityLevelthànhSurfaceProtection(I3c460, b/420982808) - Cung cấp hàm khởi tạo nạp chồng cho đối tượng sửa đổi có thể di chuyển, cho phép neo. (Ic0c70)
- Thêm nhiều nhà cung cấp vị trí hơn cho chú giải công cụ để giờ đây, nhà phát triển có thể kiểm soát xem chú giải công cụ được đặt ở phía trên, phía dưới, bên trái hay bên phải của neo. Thêm một API lấy Hình dạng cho con nháy để có thể cung cấp nhiều hình dạng tuỳ chỉnh hơn. (Ie513c, b/374766087, b/418854637)
- Xoá
CoreEntitydưới dạngPublishedApi(Ifee05)
Sửa lỗi
- Khắc phục lỗi
SpatialDialognhấp nháy khi hiển thị. (Ife73c, b/401619909) - Khắc phục vấn đề
SpatialDialogkhông thể che mờ Bảng điều khiển hoạt động. (I8ca6c, b/367442109) - Khắc phục lỗi hộp thoại XR không hiển thị một số nội dung (I17cd5, b/418062437)
- Khắc phục lỗi
SpatialPopupbị đóng khi người dùng nhấp vào bên trong nội dung. (If262c, b/417245722) - Khắc phục vấn đề khi liên kết
resizable().movable(), SpatialPanel không đổi kích thước chính xác thành kích thước mới. (I02ee3, b/422264230) - Sửa lỗi
topBarchồng chéo với trình đơn trongSpatialComposeVideoPlayer(Id33bc, b/427168167) - Khắc phục lỗi không hiển thị bán kính góc (I975fe, b/428261830)
Phiên bản 1.0.0-alpha04
Ngày 7 tháng 5 năm 2025
Phát hành androidx.xr.compose:compose:1.0.0-alpha04 và androidx.xr.compose:compose-testing:1.0.0-alpha04. Phiên bản 1.0.0-alpha04 bao gồm các thay đổi sau.
Tính năng mới
- Thêm giao diện
CompositionLocalConsumerSubspaceModifierNodeđể cho phép các loạiSubspaceModifiertuỳ chỉnh truy cập vào các giá trị cục bộ của thành phần kết hợp. - Thêm một API
SpatialPanelmới theo kiểu triển khaiAndroidViewcủa Compose và ngừng sử dụngViewBased SpatialPaneltrước đó. - Thêm đối tượng đồng hành
VolumeConstraints.Unboundedđại diện cho các quy tắc ràng buộc không giới hạn. - Thêm
SubspaceModifier.onPointSourceParamsđể cho phép nguồn âm thanh không gian. - Đã thêm
ApplicationSubspacecông khai, cung cấpVolumeConstraintskhông bắt buộc để xác định vùng 3D nơi ứng dụng có thể hiển thị nội dung không gian. Theo mặc định, nếu không có quy tắc ràng buộc nào được chỉ định, thì Subspace sẽ bị giới hạn bởi trường nhìn hiện tại củaSpatialUservề chiều rộng và chiều cao. Người dùng có thể cung cấp các quy tắc ràng buộc để sử dụng nếu không xác định được trường nhìn. Nếu không, các giá trị chiều rộng và chiều cao mặc định của trường nhìn sẽ được sử dụng. - Thêm
SpatialExternalSurface, có thể dùng để kết xuất nội dung hình nổi.SpatialExternalSurfacecó thể tuỳ chỉnh bằng đối tượng sửa đổi (ngoại trừ alpha) và hiệu ứng làm mờ cạnh. - Thêm một Đối tượng sửa đổi không gian phụ
pointerHoverIconmới cho phép người dùng đặt biểu tượng cho con trỏ không gian.
Thay đổi về API
- Xoá quy định hạn chế
RequiresApi(34)đối với tất cả các gói Jetpack XR. Hạn chế này là thừa vì Jetpack XR hiện chỉ có trên các thiết bị có cấp độ API 34 trở lên. (Iae0f8) - Các dự án được phát hành bằng Kotlin 2.0 cần có KGP 2.0.0 trở lên để sử dụng. (Idb6b5)
- Thao tác quay lại giờ đây sẽ hoạt động trên các bảng điều khiển không gian mà không cần nhúng hoạt động. Để tính năng xử lý thao tác quay lại hoạt động, bạn cần chỉ định
android:enableOnBackInvokedCallback="true"trong tệp kê khai Android. - Giờ đây, thao tác quay lại sẽ hoạt động trên các hộp thoại không gian. Để tính năng xử lý nút quay lại hoạt động, bạn cần chỉ định
android:enableOnBackInvokedCallback="true"trong tệp kê khai Android. - Giờ đây,
SpatialPaneldựa trên Compose và dựa trên Khung hiển thị có thể tự điều chỉnh kích thước dựa trên nội dung của chúng. - Giờ đây, nhà phát triển có thể đặt giá trị
SpatialElevationLeveltuỳ chỉnh của riêng mình và không bị giới hạn ở các cấp độ được xác định trước. - Giờ đây, bạn có thể tuỳ chỉnh độ cao của Orbiter thông qua tham số
elevation. - Giờ đây, theo mặc định, không gian con có thể được giới hạn theo chiều rộng và chiều cao của trường nhìn của
SpatialUser. Nếu không xác định được trường nhìn, thì hệ thống sẽ sử dụng các giá trị chiều rộng và chiều cao mặc định của trường nhìn. - Thêm lệnh gọi lại mới
onMoveStartvàonMoveEndvào đối tượng sửa đổiMovable. Các lệnh gọi lạionMoveStartvàonMoveEndđược gọi khi người dùng bắt đầu và kết thúc việc di chuyển một thành phần kết hợp không gian con bằng đối tượng sửa đổi có thể di chuyển. - Tham số
nameđã bị xoá khỏi các API không gian nhưSpatialRowvàSpatialPanel. Để gỡ lỗi cây thành phần không gian, hãy sử dụngSubspaceModifier.testTag. - Đã xóa phương thức nạp chồng không được hỗ trợ của
SpatialPopupchỉ cóspatialElevationLevelvàcontent. Vui lòng sử dụng giao diện hỗ trợonDimissRequest. - Lệnh gọi lại
onPoseChangetừ đối tượng sửa đổi Movable đã bị xoá. Thay vào đó, hãy sử dụngonMove. SubspaceModifierssẽ không còn áp dụng hiệu ứng nếu bị tách hoặc đang tách.- API
SpatialRowhiện có đã được chia thànhSpatialRowvàSpatialCurvedRow. Nếu trước đây bạn sử dụng tham sốcurveRadiuscủaSpatialRow, thì giờ hãy sử dụngSpatialCurvedRowvì tham số này có cùng hành vi. MainPanelvàActivityPanelkhông còn thanh tiêu đề khi chạy trên một hình ảnh hệ thống gần đây tương tự.- Giờ đây, bạn có thể xếp chồng các đối tượng sửa đổi alpha và tỷ lệ, đồng thời nhân các giá trị của chúng để có được giá trị alpha hoặc tỷ lệ áp dụng cuối cùng.
- Lệnh gọi lại
onPoseChangetừ đối tượng sửa đổi Movable đã được tối ưu hoá để thực hiện chuyển động tư thế mượt mà hơn. - Giờ đây, đối tượng sửa đổi có thể di chuyển và đổi kích thước sẽ thực hiện lệnh gọi lại trên luồng chính để đảm bảo rằng các thay đổi về trạng thái sẽ kích hoạt quá trình kết hợp lại.
- Thêm tính năng quan sát trạng thái vào các giai đoạn bố cục và đo lường để đảm bảo rằng các thay đổi về trạng thái trong
SubspaceLayoutsẽ kích hoạt việc bố trí lại. - Tối ưu hoá các bản cập nhật chuỗi đối tượng sửa đổi để sử dụng lại các đối tượng sửa đổi hiện có hiệu quả hơn.
Sửa lỗi
- Ngừng làm mờ khi
SpatialDialogxuất hiện. (Ic4594) - Giờ đây, các yêu cầu bố cục lại được thực hiện trong khi các nút đối tượng sửa đổi bị tách rời sẽ bị bỏ qua.
- Đã xóa các giai đoạn bố cục lại do các modifier Movable và Resizable kích hoạt.
- Khắc phục sự cố trong composable
MainPanel()xảy ra khi một trong hai kích thước được đặt thành 0, trực tiếp hoặc trong quá trình tính toán bố cục, ví dụ: tính toánSpatialRow/SpatialColumn. Giờ đây, bảng điều khiển sẽ bị ẩn. Xin lưu ý rằng bản sửa lỗi này đặc biệt giải quyết các sự cố trong giai đoạn bố cục; việc đổi kích thước bảng điều khiển về 0 thông qua hoạt động tương tác của người dùng sẽ được xử lý riêng. Bảng điều khiển ẩn thiếu các tính năng giao diện người dùng. - Khắc phục vấn đề về
maintainAspectRatiotừ đối tượng sửa đổi có thể đổi kích thước. Tỷ lệ khung hình hiện đã được giữ nguyên. - Khắc phục vấn đề về Không gian con lồng nhau, trong đó các không gian con này sẽ được đặt không chính xác cho một khung hình.
- Khắc phục vấn đề đôi khi không áp dụng được các góc bo tròn khi cần.
NestedSubspacessẽ không còn xuất hiện ở sai vị trí trong một khung hình nữa.
Phiên bản 1.0.0-alpha03
Ngày 26 tháng 2 năm 2025
androidx.xr.compose:compose:1.0.0-alpha03 và androidx.xr.compose:compose-testing:1.0.0-alpha03 được phát hành mà không có thay đổi đáng kể nào kể từ phiên bản alpha gần đây nhất. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau
Phiên bản 1.0.0-alpha02
Ngày 12 tháng 2 năm 2025
Phát hành androidx.xr.compose:compose:1.0.0-alpha02 và androidx.xr.compose:compose-testing:1.0.0-alpha02. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.
Tính năng mới
- Giờ đây, Bảng điều khiển hoạt động có thể che nội dung khi Hộp thoại không gian được kích hoạt.
- Giờ đây, bạn có thể sử dụng API
Orbitertrong bối cảnhSubspaceComposablevà API này sẽ đính kèm Orbiter vào thành phần kết hợp mẹ gần nhất dựa trênSubspaceLayout. - Ra mắt
LayoutCoordinatesAwareModifierNodeđể cho phép các đối tượng sửa đổi dựa trên vị trí tuỳ chỉnh. - Thêm các phương thức vòng đời đính kèm/tách rời vào
SubspaceModifier.Node. - Thêm
scaleWithDistancevào đối tượng sửa đổi có thể di chuyển. Khi bạn bậtscaleWithDistance, phần tử không gian con được di chuyển sẽ tăng hoặc giảm. Nó cũng sẽ duy trì mọi tỷ lệ rõ ràng mà nó có trước khi di chuyển.
Thay đổi về API
- Đã xóa
SessionCallbackProvidervà thay bằngSpatialCapabilities.
Các thay đổi khác
- Giảm
minSDKxuống còn 24. Tất cả API Jetpack XR tiếp tục yêu cầu API 34 trong thời gian chạy. - Các hàm khởi tạo
OrbiterEdgeOffset.inner,EdgeOffset.outervàEdgeOffset.overlapkhông còn là các phương thức@Composable, cho phép sử dụng các hàm này trong ngữ cảnh không kết hợp. - Cập nhật Cấp độ nâng cao không gian để phù hợp với thông số kỹ thuật mới nhất về trải nghiệm người dùng.
- Triển khai giao diện
SubspaceSemanticsInfovàoMeasurableLayout. - Đổi tên
SubspaceModifierElementthànhSubspaceModifierNodeElement.
Bản sửa lỗi
- Sửa lỗi để ổn định thứ tự
SubspaceModifier.SubspaceModifiersẽ hoạt động ổn định hơn. Giờ đây, bạn có thể sử dụng đối tượng sửa đổi bù trừ, xoay, điều chỉnh tỷ lệ, có thể di chuyển và có thể đổi kích thước theo thứ tự bất kỳ.
Phiên bản 1.0.0-alpha01
Ngày 12 tháng 12 năm 2024
Phát hành androidx.xr.compose:compose-*1.0.0-alpha01.
Các tính năng của bản phát hành ban đầu
Bản phát hành đầu tiên của Jetpack Compose cho XR dành cho nhà phát triển. Sử dụng các khái niệm quen thuộc trong Compose như hàng và cột để tạo bố cục của giao diện người dùng không gian trong XR, cho dù bạn đang chuyển một ứng dụng 2D hiện có sang XR hay tạo một ứng dụng XR mới từ đầu. Thư viện này cung cấp các thành phần kết hợp không gian con và không gian: chẳng hạn như bảng điều khiển không gian và quỹ đạo, cho phép bạn đặt giao diện người dùng dựa trên Khung hiển thị hoặc Compose 2D hiện có vào bố cục không gian. Bài viết này giới thiệu thành phần kết hợp không gian phụ Thể tích, cho phép bạn đặt các thực thể SceneCore (chẳng hạn như mô hình 3D) tương ứng với giao diện người dùng. Tìm hiểu thêm trong hướng dẫn cho nhà phát triển này:
Subspace: Thành phần kết hợp này có thể được đặt ở bất cứ đâu trong hệ phân cấp giao diện người dùng của ứng dụng, cho phép bạn duy trì bố cục cho giao diện người dùng 2D và không gian mà không làm mất ngữ cảnh giữa các tệp. Điều này giúp bạn dễ dàng chia sẻ những nội dung như cấu trúc ứng dụng hiện có giữa XR và các kiểu dáng khác mà không cần phải nâng trạng thái lên toàn bộ cây giao diện người dùng hoặc thiết kế lại cấu trúc ứng dụng.SpatialPanel: Bảng không gian là một composable không gian con cho phép bạn hiển thị nội dung ứng dụng, chẳng hạn như bạn có thể hiển thị video phát lại, hình ảnh tĩnh hoặc bất kỳ nội dung nào khác trong bảng không gian.
Orbiter: Orbiter là một thành phần giao diện người dùng không gian. Thanh này được thiết kế để đính kèm vào một bảng điều khiển không gian tương ứng, đồng thời chứa các mục thao tác theo ngữ cảnh và mục hành động điều hướng liên quan đến bảng điều khiển không gian đó. Ví dụ: nếu đã tạo một bảng điều khiển không gian để hiển thị nội dung video, bạn có thể thêm bộ điều khiển chế độ phát video bên trong một thanh điều khiển.
Khối lượng: Đặt các thực thể SceneCore, chẳng hạn như mô hình 3D, tương ứng với giao diện người dùng.
Bố cục không gian: Bạn có thể tạo nhiều bảng điều khiển không gian và đặt chúng trong một Bố cục không gian bằng cách sử dụng
SpatialRow,SpatialColumn,SpatialBoxvàSpatialLayoutSpacer. Sử dụngSubspaceModifierđể tuỳ chỉnh bố cục.Thành phần giao diện người dùng không gian: Bạn có thể sử dụng lại các thành phần này trong giao diện người dùng 2D và các thuộc tính không gian của chúng sẽ chỉ xuất hiện khi các chức năng không gian được bật.
SpatialDialog: Bảng điều khiển sẽ lùi lại một chút theo chiều sâu z để hiển thị hộp thoại nổi.SpatialPopUp: Bảng điều khiển sẽ lùi lại một chút theo chiều sâu z để hiển thị cửa sổ bật lên nổi lênSpatialElevation: Bạn có thể đặtSpatialElevationLevelđể thêm độ cao.
SpatialCapabilities: Các khả năng không gian có thể thay đổi khi người dùng tương tác với ứng dụng hoặc hệ thống, hoặc thậm chí có thể do chính ứng dụng của bạn thay đổi, chẳng hạn như chuyển sang chế độ Không gian chính hoặc Toàn bộ không gian. Để tránh gặp vấn đề, ứng dụng của bạn cần kiểm tra
LocalSpatialCapabilities.currentđể xác định API nào được hỗ trợ trong môi trường hiện tại.isSpatialUiEnabled: Các phần tử trên giao diện người dùng không gian (ví dụ: SpatialPanel)isContent3dEnabled: Đối tượng 3DisAppEnvironmentEnabled: Môi trườngisPassthroughControlEnabled: Liệu ứng dụng có thể kiểm soát trạng thái nhìn xuyên qua hay khôngisSpatialAudioEnabled: Âm thanh không gian
Lỗi đã biết
- Hiện tại, bạn cần có minSDK là 30 để sử dụng Jetpack Compose cho XR. Để giải quyết vấn đề này, bạn có thể thêm mục nhập tệp kê khai sau
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>để có thể tạo và chạy bằng minSDK là 23. - Các ứng dụng Jetpack XR hiện yêu cầu quyền
android.permission.SCENE_UNDERSTANDINGtrong AndroidManifest. - Khi một ứng dụng khởi chạy trực tiếp vào Toàn bộ không gian bằng thuộc tính
PROPERTY_XR_ACTIVITY_START_MODEtrong tệp kê khai, các Hoạt động/Ứng dụng ban đầu sẽ được mở trong Không gian chính trước khi chuyển sang Toàn bộ không gian. - glTF trong Thành phần kết hợp thể tích có thể nhấp nháy ban đầu ở vị trí không chính xác.
- Việc sử dụng SpatialDialog trong một bảng điều khiển đã được di chuyển đáng kể sẽ đẩy nội dung theo hướng sai.