Interopérabilité de l'aperçu

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

Le composable AndroidRemoteViews permet de placer RemoteViews 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-le en tant que paramètre.

Vous pouvez également 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...")
    }
}

Dans ce cas, une mise en page contenant le "conteneur" est transmise avec l'ID défini. Ce conteneur doit être un ViewGroup, car il est utilisé pour placer le contenu défini.