एक नज़र में इंटरऑपरेबिलिटी

कुछ मामलों में, व्यू दिखाने के लिए एक्सएमएल और RemoteViews का इस्तेमाल किया जा सकता है. ऐसा हो सकता है कि आपने Glance के बिना ही किसी सुविधा को लागू कर दिया हो. इसके अलावा, यह भी हो सकता है कि यह सुविधा अभी उपलब्ध न हो या मौजूदा Glance API के साथ काम न करे. इन स्थितियों के लिए, Glance AndroidRemoteViews उपलब्ध कराता है. यह एक इंटरऑपरेबिलिटी एपीआई है.

AndroidRemoteViews कंपोज़ेबल की मदद से, RemoteViews को आपके अन्य कंपोज़ेबल के साथ रखा जा सकता है:

val packageName = LocalContext.current.packageName
Column(modifier = GlanceModifier.fillMaxSize()) {
    Text("Isn't that cool?")
    AndroidRemoteViews(RemoteViews(packageName, R.layout.example_layout))
}

Glance के बिना RemoteViews बनाएं और उसे तय करें. इसके बाद, इसे पैरामीटर के तौर पर पास करें.

इसके अलावा, अपने कंपोज़ेबल के लिए RemoteViews कंटेनर बनाए जा सकते हैं:

AndroidRemoteViews(
    remoteViews = RemoteViews(packageName, R.layout.my_container_view),
    containerViewId = R.id.example_view
) {
    Column(modifier = GlanceModifier.fillMaxSize()) {
        Text("My title")
        Text("Maybe a long content...")
    }
}

इस मामले में, "कंटेनर" वाला लेआउट, तय किए गए आईडी के साथ पास किया जाता है. यह कंटेनर ViewGroup होना चाहिए, क्योंकि इसका इस्तेमाल तय किए गए कॉन्टेंट को रखने के लिए किया जाता है.