Android Jetpack Compose फ़्रेमवर्क का इस्तेमाल करके, Android यूज़र इंटरफ़ेस (यूआई) डेवलपमेंट में हुई नई तरक्कियों का फ़ायदा लिया जा सकता है. साथ ही, यह पक्का किया जा सकता है कि आपका ऐप्लिकेशन, इंडस्ट्री के सबसे सही तरीकों के मुताबिक बना रहे.
हालांकि, अगर आपने माइग्रेट नहीं किया है और Android Views पर आधारित ऐप्लिकेशन को स्पेसलाइज़ करने की कोशिश की जा रही है, तो इसके लिए कुछ तरीके अपनाए जा सकते हैं.
SpatialPanels में अपने मौजूदा व्यू का फिर से इस्तेमाल करना
SpatialPanel
, XR लाइब्रेरी के लिए Jetpack Compose का हिस्सा हैं. हालांकि, इनमें व्यू भी इस्तेमाल किए जा सकते हैं. अपनी MainActivity में setSubspaceContent()
का इस्तेमाल करते समय, किसी मौजूदा व्यू को SpatialPanel
में डालें, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है.
setSubspaceContent { SpatialPanel( modifier = SubspaceModifier.height(500.dp).width(500.dp).depth(25.dp) ) { MyCustomView(this) } }
Android व्यू और Compose के इंटरऑपरेबिलिटी एपीआई का इस्तेमाल करना
व्यू और Compose के बीच इंटरऑपरेबिलिटी के बारे में दिशा-निर्देश देखें. इस दस्तावेज़ में, इन फ़्रेमवर्क को एक साथ इस्तेमाल करने के बारे में बताया गया है. साथ ही, इसमें कोड के ऐसे सैंपल के लिंक भी शामिल हैं जिनका इस्तेमाल किया जा सकता है.
किसी मौजूदा फ़्रैगमेंट में स्पेस पैनल और ऑर्बिटर जोड़ने के लिए, ComposeView का इस्तेमाल करना
अपने एक्सएमएल लेआउट में ComposeView
का इस्तेमाल करके, कॉम्पोज़ेबल जोड़ें और नया एक्सआर कॉन्टेंट बनाएं. 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 पर आधारित है. अगर आपको किसी व्यू पर आधारित ऐप्लिकेशन को स्पेसिएलाइज़ करना है, तो Compose for XR में अपने मौजूदा यूज़र इंटरफ़ेस (यूआई) कोड का इस्तेमाल जारी रखा जा सकता है. इसके अलावा, सीधे तौर पर Jetpack SceneCore के Session
के साथ काम करने का विकल्प भी चुना जा सकता है.
PanelEntity
का इस्तेमाल करके, सीधे SceneCore से पैनल बनाए जा सकते हैं. Dimensions
का इस्तेमाल करके, पैनल का साइज़ मीटर में सेट करें या PixelDimensions
का इस्तेमाल करके, पिक्सल में सेट करें. पैनल को एक जगह से दूसरी जगह ले जाने या उनके साइज़ में बदलाव करने के लिए, उनसे जुड़े कॉम्पोनेंट का इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, इकाइयों के लिए सामान्य व्यवहार जोड़ना लेख पढ़ें.
val panelContent = MyCustomView(this) val panelEntity = PanelEntity.create( session = xrSession, view = panelContent, pixelDimensions = PixelDimensions(500, 500), name = "panel entity" )