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