Interoperabilidad de Glance

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

El elemento componible AndroidRemoteViews permite que RemoteViews se coloque 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 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, se pasa un diseño que contiene el "contenedor" con el ID definido. Este contenedor debe ser un ViewGroup, ya que se usa para colocar el contenido definido.