Interoperabilidad de Glance

En algunos casos, es posible que quieras usar XML y RemoteViews para proporcionar una vista. Tal vez ya implementaste una función sin Glance, o la función aún no esté disponible o no sea posible con la API actual de Glance En estas situaciones,Glance proporciona AndroidRemoteViews, una API de interoperabilidad.

El elemento componible AndroidRemoteViews permite colocar RemoteViews junto con tus otros elementos componibles:

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

Crea y define RemoteViews como lo harías sin Glance y simplemente pásalo como parámetro.

Además, puedes crear contenedores RemoteViews para tus elementos componibles:

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

En este caso, un diseño que contiene el "contenedor" se pasa con el ID definido. Este contenedor debe ser un ViewGroup, ya que se usa para colocar el contenido definido.