Interoperabilidade de resumo

Em alguns casos, pode ser necessário usar XML e RemoteViews para fornecer uma visualização. Talvez você já tenha implementado um recurso sem o Glance ou ele ainda não esteja disponível ou não seja possível com a API Glance atual. Para essas situações, o Glance fornece AndroidRemoteViews, uma API de interoperabilidade.

O AndroidRemoteViews permite que RemoteViews seja posicionado junto a outros elementos combináveis:

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

Crie e defina o RemoteViews como você faria sem o Glance e o transmita como um parâmetro.

Além disso, é possível criar contêineres RemoteViews para elementos combináveis:

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

Nesse caso, um layout que contém o "contêiner" é transmitido com o ID definido. Esse contêiner precisa ser um ViewGroup, já que é usado para colocar o conteúdo definido.