В некоторых случаях для предоставления представления может потребоваться использовать 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
, поскольку он используется для размещения определенного контента.