Interoperabilidade de resumo

Em alguns casos, talvez você queira 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 oferece AndroidRemoteViews, uma API de interoperabilidade.

O elemento combinável AndroidRemoteViews permite que RemoteViews seja colocado junto com seus 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 faria sem o Glance e transmita-o como um parâmetro.

Além disso, você pode criar contêineres RemoteViews para seus 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, porque é usado para colocar o conteúdo definido.