SubspaceModifier
, Subspace
içindeki composable'lar için Compose değiştiricisine benzer. SubspaceModifier
, composable'ları 3D uzayda değiştirmenize olanak tanır. Bu sayede, 3D düzen düğümlerini konumlandırabilir, döndürebilir ve bunlara davranışlar ekleyebilirsiniz.
Düzen
Varsayılan olarak, Subspace
, bir uygulamayı görüntülemek için önerilen alanla sınırlanır. Bu sınırlar, alt alan bileşenlerinizin düzenini ölçerken kullanılır. Bu işlem, 2D Compose düzenlerindeki sınırlara benzer.
Doldurma sınırları
fillMaxSize
, fillMaxWidth
, fillMaxHeight
ve fillMaxDepth
değiştiricileri, içeriğin üst öğesinin sınırlarını (kısmen) doldurmasını sağlar.
Doldurma değiştiricileri kullanmak, uygulamanızın XR cihazının ekran özelliklerinden bağımsız içerik düzenlemesine yardımcı olur.
Boyutu ve gerekli boyutu ayarlama
size
, width
, height
ve depth
değiştiricileri, içeriğin tercih edilen boyutunu belirtir. İçeriğin tam boyutunu bildirmek için requiredSize
, requiredWidth
, requiredHeight
ve requiredDepth
özelliklerini kullanın. Bu birimler dp
içinde belirtilmelidir. Metreden dp'ye dönüştürmek için Meter.toDp()
kullanın.
Konum composable'ları
offset
offset
değiştiricisi, composable'ı 3 boyutlu uzayda x
, y
ve z
eksenleri boyunca hareket ettirir. Bu birimler dp
cinsinden belirtilmelidir. Metreden dp'ye dönüştürmek için Meter.toDp()
işlevini kullanın.
rotate
rotate
değiştiricisi, verilen composable'ı uzayda döndürür. Dönme yönünü ve miktarını farklı şekillerde belirtebilirsiniz:
- Sırasıyla
x
,y
vez
eksenleri etrafındaki dönüşü belirten eğim, sapma ve yuvarlanma değerlerini kullanarak - Dönme eksenini ve etrafında dönmesi gereken derece miktarını temsil eden bir
axisAngle
kullanarak,Vector3
- Rotasyonu temsil eden bir
Quaternion
kullanma.
Composables'ın görünümünü değiştirme
alpha
alpha
değiştiricisi, öğenin ve alt öğelerinin opaklığını ayarlar. 0f
tamamen şeffaf, 1.0f
ise tamamen opak anlamına gelir.
scale
scale
değiştiricisi, yatay, dikey ve derinlik eksenleri boyunca birleştirilebilir öğenin içeriğini ölçeklendirir.
Composable'lara davranış ekleme
resizable
resizable
değiştiricisi etkinleştirildiğinde, kullanıcının öğeyi yeniden boyutlandırmasına olanak tanıyan sürüklenebilir kullanıcı arayüzü kontrolleri gösterilir. Bu işlem, Entity
üzerinde ResizableComponent
kullanmaya benzer.
movable
movable
değiştiricisi etkinleştirildiğinde bileşene, kullanıcının öğeyi 3D alanda taşımasına olanak tanıyan kullanıcı arayüzü kontrolleri eklenir. Bu işlem, Entity
üzerinde MovableComponent
kullanmaya benzer.
Bir movable
düzen düğümü, taşındığında isteğe bağlı olarak hangi düzlem türlerine sabitlenmesi gerektiğini belirtebilir. Örneğin, tablolara tutturulan bir SpatialPanel
oluşturmak için:
SpatialPanel(
modifier.movable(anchorPlaneSemantics = setOf(PlaneSemantic.TABLE))
) {
// This panel snaps to available planes that are detected as a TABLE.
}
Düzlemlere yapıştırma için uygulamanıza android.permission.SCENE_UNDERSTANDING_COARSE
çalışma zamanı izni verilmesi gerekir.
Test ve erişilebilirlik
semantics
semantics
değiştiricisi, test ve erişilebilirlik için kullanılmak üzere düzen düğümüne semantik ekler. Jetpack Compose'da Semantik ve SemanticsModifier
başlıklı makaleleri inceleyin.
testTag
testTag
değiştiricisi, SemanticsPropertyReceiver.testTag
için kısaltmadır. Bu değiştirici, test çerçevelerinin testlerdeki öğeyi bulmasına olanak tanır.