Interopérabilité de l'aperçu

Dans certains cas, vous pouvez utiliser XML et RemoteViews pour fournir une vue. Vous avez peut-être déjà implémenté une fonctionnalité sans Glance, ou la fonctionnalité est ce qui n'est pas encore disponible ni possible avec l'API Glance actuelle. Dans ces situations, Glance propose AndroidRemoteViews, une API d'interopérabilité.

Le composable AndroidRemoteViews permet de placer RemoteViews ensemble. avec vos autres composables:

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

Créez et définissez RemoteViews comme vous le feriez sans Glance, puis transmettez simplement comme paramètre.

De plus, vous pouvez créer des conteneurs RemoteViews pour vos composables:

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

Ici, une mise en page contenant le "conteneur" est transmise avec le paramètre ID. Ce conteneur doit être de type ViewGroup, car il sert à placer un contenu défini.