Một 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 hành vi vào các nút bố cục 3D.
Bố cục
Theo mặc định, một Subspace được giới hạn bởi không gian được đề xuất để xem ứng dụng. Các giới hạn này được dùng khi đo lường bố cục của các thành phần không gian phụ, tương tự như các giới hạn trong bố cục Compose 2D.
Điền vào giới hạn
Các đối tượng sửa đổi fillMaxSize, fillMaxWidth, fillMaxHeight và
fillMaxDepth giúp nội dung (một phần) điền vào giới hạn của thành phần mẹ.
Việc sử dụng đối tượng sửa đổi điền giúp ứng dụng của bạn bố trí nội dung độc lập với các đặ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, height, và depth
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,
requiredHeight và requiredDepth. Bạn phải chỉ định các đơn vị này
trong dp; để chuyển đổi từ mét sang dp, hãy sử dụng Meter.toDp().
Định vị các thành phần kết hợp
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, y,
và z. Bạn phải chỉ định các đơn vị này trong dp; để chuyển đổi từ mét sang
dp, hãy sử 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 cao độ, góc xoay ngang và góc xoay dọc, lần lượt chỉ định góc xoay quanh các trục
x,yvàz, - Sử dụng
axisAngle, làVector3đại diện cho trục xoay và số độ mà trục này cần xoay quanh, - Sử dụng
Quaternionđại diện cho góc 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 "bảng quảng cáo", trong đó nội dung xoay để hướng về phía người dùng trên trục Y trong khi vẫn thẳng đứng và căn chỉnh theo trọng lực. Để thực hiện việc này,
kết hợp đối tượng sửa đổi rotateToLookAtUser với
đối tượng sửa đổi gravityAligned.
Di chuyển và đổi kích thước bằng các thành phần kết hợp
Cho phép người dùng trực tiếp thao tác với vị trí và kích thước của các đối tượng trong không gian 3D. Bạn có thể thêm các đối tượng sửa đổi này vào các thành phần riêng lẻ (như SpatialPanel), không gian phụ và các thành phần bố cục không gian (như SpatialRow hoặc SpatialColumn).
Di chuyển các phần tử
Các đối tượng sửa đổi có thể di chuyển cho phép người dùng lấy và định vị lại các phần tử không gian phụ.
transformingMovable: Sử dụng đối tượng sửa đổi này để di chuyển tiêu chuẩn. Đối tượng sửa đổi này định cấu hình phần tử để người dùng có thể tương tác và di chuyển. Hệ thống sẽ tự động tính toán và áp dụng tư thế và tỷ lệ mới dựa trên hoạt động đầu vào của người dùng.movable: Sử dụng đối tượng sửa đổi này để xác định hành vi di chuyển tuỳ chỉnh. Mặc dù hệ thống cung cấp khả năng di chuyển, nhưng bạn phải sử dụng sự kiệnonMovebắt buộc và áp dụng kết quả. Điều này hữu ích khi bạn muốn hạn chế việc di chuyển hoặc tạo chuyển động tuỳ chỉnh trong ứng dụng.
Đổi kích thước các phần tử
Các đối tượng sửa đổi có thể đổi kích thước cho phép người dùng lấy và đổi kích thước các phần tử không gian phụ.
transformingResizable: Sử dụng đối tượng sửa đổi này để đổi kích thước do hệ thống quản lý. Đối tượng sửa đổi này tự động xử lý cử chỉ đổi kích thước và áp dụng các kích thước mới mà người dùng chỉ định.resizable: Sử dụng đối tượng sửa đổi này cho logic đổi kích thước tuỳ chỉnh. Mặc dù hệ thống cung cấp khả năng đổi kích thước, nhưng bạn phải sử dụng sự kiệnonResizevà áp dụng kết quả. Đối tượng sửa đổi này hữu ích cho các trường hợp phức tạp, chẳng hạn như duy trì một tỷ lệ khung hình cụ thể hoặc điều chỉnh lại bố cục tổng thể của các thành phần khác sau khi quá trình đổi kích thước kết thúc.
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 đại diện cho độ trong suốt hoàn toàn và 1.0f đại diện cho độ 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 các trục
ngang, dọc và độ sâu.
Kiểm thử và khả năng hỗ trợ tiếp cận
semantics
Đối tượng sửa đổi semantics thêm ngữ nghĩa vào nút bố cục để dùng trong
kiểm thử và khả năng hỗ trợ tiếp cận. Xem bài viết Ngữ nghĩa trong Jetpack Compose và
SemanticsModifier.
testTag
Đối tượng sửa đổi testTag là 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 bài kiểm thử.