Android Jetpack Compose फ़्रेमवर्क का इस्तेमाल करना, Android यूज़र इंटरफ़ेस (यूआई) डेवलपमेंट में हुए नए बदलावों का फ़ायदा पाने का सबसे सही तरीका है. इससे यह भी पक्का किया जा सकता है कि आपका ऐप्लिकेशन, इंडस्ट्री के सबसे सही तरीकों के हिसाब से अपडेट रहे.
हालांकि, अगर आपने माइग्रेट नहीं किया है और आपको Android Views पर आधारित किसी ऐप्लिकेशन को स्पेशल बनाना है, तो इसके लिए कुछ तरीके अपनाए जा सकते हैं.
SpatialPanels में अपने मौजूदा व्यू का फिर से इस्तेमाल करना
SpatialPanel
s, XR लाइब्रेरी के लिए Jetpack Compose का हिस्सा हैं. हालांकि, ये व्यू भी स्वीकार करते हैं. अपनी MainActivity में Subspace
का इस्तेमाल करते समय, किसी मौजूदा व्यू को SpatialPanel
में रखें. इसके लिए, यहां दिया गया उदाहरण देखें.
setContent { Subspace { SpatialPanel( modifier = SubspaceModifier.height(500.dp).width(500.dp).depth(25.dp) ) { MyCustomView(this@ActivityWithSubspaceContent) } } }
Android व्यू और Compose इंटरऑपरेबिलिटी एपीआई का इस्तेमाल करना
Views और Compose के बीच इंटरऑपरेबिलिटी से जुड़े दिशा-निर्देश देखें. इस दस्तावेज़ में, इन फ़्रेमवर्क का एक साथ इस्तेमाल करने के बारे में बताया गया है. साथ ही, इसमें कोड के उन सैंपल के लिंक दिए गए हैं जिनका इस्तेमाल किया जा सकता है.
किसी मौजूदा फ़्रैगमेंट में स्पेसियल पैनल और ऑर्बिटर जोड़ने के लिए, ComposeView का इस्तेमाल करना
एक्सएमएल लेआउट में ComposeView
का इस्तेमाल करके, कंपोज़ेबल जोड़े जा सकते हैं और नया XR कॉन्टेंट बनाया जा सकता है. onCreateView()
फ़ंक्शन में ComposeView
को ढूंढने के लिए, व्यू बाइंडिंग या findViewById
का इस्तेमाल करें.
ComposeView
के बारे में ज़्यादा जानें.
override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { val view = inflater.inflate(R.layout.example_fragment, container, false) view.findViewById<ComposeView>(R.id.compose_view).apply { // Dispose of the Composition when the view's LifecycleOwner // is destroyed setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) setContent { // In Compose world SpatialPanel(SubspaceModifier.height(500.dp).width(500.dp)) { Text("Spatial Panel with Orbiter") } } } return view }
Jetpack SceneCore लाइब्रेरी के साथ सीधे काम करना
Compose for XR को Jetpack SceneCore के आधार पर बनाया गया है. अगर आपको Views पर आधारित किसी ऐप्लिकेशन में स्पेशल ऑडियो की सुविधा जोड़नी है, तो Compose for XR में अपने मौजूदा यूज़र इंटरफ़ेस (यूआई) कोड का इस्तेमाल जारी रखा जा सकता है. इसके अलावा, सीधे तौर पर Jetpack SceneCore के Session
के साथ काम किया जा सकता है.
PanelEntity
का इस्तेमाल करके, सीधे SceneCore से पैनल बनाए जा सकते हैं. dimensions
का इस्तेमाल करके, पैनल का साइज़ मीटर में या pixelDimensions
का इस्तेमाल करके पिक्सल में सेट करें. आपके पास पैनल को मूव करने या उनका साइज़ बदलने का विकल्प होता है. इसके लिए, आपको उनसे जुड़े कॉम्पोनेंट का इस्तेमाल करना होगा. ज़्यादा जानकारी के लिए, इकाइयों में सामान्य व्यवहार जोड़ना लेख पढ़ें.
val panelContent = MyCustomView(this) val panelEntity = PanelEntity.create( session = xrSession, view = panelContent, pixelDimensions = IntSize2d(500, 500), name = "panel entity" )