Riepilogo interoperabilità

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

Il composable AndroidRemoteViews consente di inserire RemoteViews insieme agli altri composable:

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 come parametro.

Inoltre, puoi creare contenitori RemoteViews per i tuoi composable:

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 ViewGroup, poiché viene utilizzato per inserire i contenuti definiti.