Interopérabilité de l'aperçu

Dans certains cas, vous pouvez utiliser le format XML et RemoteViews pour fournir une vue. Vous avez peut-être déjà implémenté une fonctionnalité sans Glance, ou elle n'est pas encore disponible ou possible avec l'API Glance actuelle. Dans ces situations, Aperçu 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 le RemoteViews comme vous le feriez sans Glance, puis transmettez-le simplement en tant que paramètre.

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

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.