Совместимость с Glance

В некоторых случаях для предоставления представления может потребоваться использовать XML и RemoteViews . Возможно, вы уже реализовали функцию без Glance или эта функция еще недоступна или невозможна в текущем API Glance. Для таких ситуаций Glance предоставляет AndroidRemoteViews — API совместимости.

Компонент AndroidRemoteViews позволяет размещать RemoteViews вместе с другими компонентами:

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

Создайте и определите RemoteViews так же, как и без Glance, и просто передайте его в качестве параметра.

Кроме того, вы можете создавать контейнеры RemoteViews для своих компонуемых объектов:

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

В этом случае макет, содержащий «контейнер», передается с определенным идентификатором. Этот контейнер должен быть ViewGroup , поскольку он используется для размещения определенного контента.