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

कुछ मामलों में, व्यू उपलब्ध कराने के लिए एक्सएमएल और 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))
}

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

इसके अलावा, कंपोज़ेबल के लिए 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 होना चाहिए, क्योंकि इसका इस्तेमाल तय किए गए कॉन्टेंट को रखने के लिए किया जाता है.