Riepilogo interoperabilità

In alcuni casi, potresti voler utilizzare XML e RemoteViews per fornire una visualizzazione. Forse hai già implementato una funzionalità senza Glance oppure la funzionalità non è ancora disponibile o possibile con l'attuale API Glance. In queste situazioni, Glance fornisce AndroidRemoteViews, un'API di interoperabilità.

L'elemento componibile AndroidRemoteViews consente di combinare RemoteViews con gli altri elementi componibili:

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

Crea e definisci RemoteViews come faresti senza Glance e passalo semplicemente come parametro.

Inoltre, puoi creare contenitori RemoteViews per i componenti componibili:

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...")
    }
}

In questo caso, viene passato un layout che contiene il "contenitore" con l'ID definito. Questo contenitore deve essere un elemento ViewGroup, poiché viene utilizzato per posizionare i contenuti definiti.