Tìm hiểu về đối tượng sửa đổi không gian con

Các thiết bị XR được hỗ trợ
Hướng dẫn này giúp bạn xây dựng các trải nghiệm cho những loại thiết bị XR sau.
Thiết bị đeo đầu XR
Kính thông minh XR có dây

SubspaceModifier tương tự như đối tượng sửa đổi Compose cho các thành phần kết hợp trong Subspace. SubspaceModifier cho phép bạn thao tác với các thành phần kết hợp trong không gian 3D, giúp bạn định vị, xoay và thêm các hành vi vào các nút bố cục 3D.

Bố cục

Theo mặc định, Subspace sẽ bị giới hạn bởi không gian được đề xuất để xem một ứng dụng. Các ranh giới này được dùng khi đo bố cục của các thành phần không gian phụ, tương tự như ranh giới trong bố cục Compose 2D.

Lấp đầy ranh giới

Các đối tượng sửa đổi fillMaxSize, fillMaxWidth, fillMaxHeightfillMaxDepth giúp nội dung (một phần) lấp đầy ranh giới của thành phần mẹ. Việc sử dụng các đối tượng sửa đổi lấp đầy sẽ giúp bố cục ứng dụng của bạn có nội dung độc lập với đặc điểm hiển thị của thiết bị XR.

Đặt kích thước và kích thước bắt buộc

Các đối tượng sửa đổi size, width, heightdepth khai báo kích thước ưu tiên của nội dung. Để khai báo kích thước chính xác của nội dung, hãy sử dụng requiredSize, requiredWidth, requiredHeightrequiredDepth. Bạn phải chỉ định các đơn vị này trong dp; để chuyển đổi từ mét sang dp, hãy dùng Meter.toDp().

Thành phần kết hợp vị trí

offset

Đối tượng sửa đổi offset di chuyển thành phần kết hợp trong không gian 3D dọc theo các trục x, yz. Bạn phải chỉ định các đơn vị này trong dp; để chuyển đổi từ mét sang dp, hãy dùng Meter.toDp().

rotate

Đối tượng sửa đổi rotate xoay thành phần kết hợp đã cho trong không gian. Bạn có thể chỉ định hướng và mức độ xoay theo nhiều cách:

  • Sử dụng độ nghiêng, độ lệch và độ xoay, trong đó chỉ định độ xoay lần lượt theo các trục x, yz,
  • Sử dụng axisAngle (là Vector3 đại diện cho trục xoay) và số độ mà nó sẽ xoay quanh,
  • Sử dụng Quaternion đại diện cho chế độ xoay.

rotateToLookAtUser

Đối tượng sửa đổi rotateToLookAtUser liên tục xoay nội dung để nội dung luôn hướng về phía người dùng. Bạn cũng có thể sử dụng đối tượng sửa đổi này để đạt được hiệu ứng "biển quảng cáo", trong đó nội dung xoay để hướng về người dùng trên trục Y trong khi vẫn thẳng đứng và phù hợp với trọng lực. Để thực hiện việc này, hãy kết hợp đối tượng sửa đổi rotateToLookAtUser với đối tượng sửa đổi gravityAligned.

Đối tượng sửa đổi này yêu cầu ứng dụng của bạn định cấu hình đối tượng của phiên hiện tại bằng DeviceTrackingMode.LAST_KNOWN.

HeadTrackingMode.LAST_KNOWN.

Thay đổi giao diện của các thành phần kết hợp

alpha

Đối tượng sửa đổi alpha đặt độ mờ của phần tử và các phần tử con của phần tử đó, trong đó 0f biểu thị độ trong suốt hoàn toàn và 1.0f biểu thị độ mờ hoàn toàn.

scale

Đối tượng sửa đổi scale điều chỉnh tỷ lệ nội dung của thành phần kết hợp dọc theo trục hoành, trục tung và trục độ sâu.

Kiểm thử và khả năng hỗ trợ tiếp cận

semantics

Đối tượng sửa đổi semantics sẽ thêm ngữ nghĩa vào nút bố cục để dùng trong kiểm thử và hỗ trợ tiếp cận. Xem phần Ngữ nghĩa trong Jetpack ComposeSemanticsModifier.

testTag

Đối tượng sửa đổi testTag là một cách viết tắt của SemanticsPropertyReceiver.testTag, cho phép các khung kiểm thử tìm thấy phần tử trong các kiểm thử.