Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
В некоторых случаях для предоставления представления может потребоваться использовать XML и RemoteViews . Возможно, вы уже реализовали функцию без Glance или эта функция еще недоступна или невозможна в текущем API Glance. Для таких ситуаций Glance предоставляет AndroidRemoteViews — API совместимости.
Компонент AndroidRemoteViews позволяет размещать RemoteViews вместе с другими компонентами:
valpackageName=LocalContext.current.packageNameColumn(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 , поскольку он используется для размещения определенного контента.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-08-27 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-08-27 UTC."],[],[],null,["In some cases, you may want to use XML and `RemoteViews` to provide a view.\nPerhaps you have already implemented a feature without Glance, or the feature is\nnot yet available or possible with the current Glance API. For these situations,\nGlance provides `AndroidRemoteViews`, an interoperability API.\n\nThe `AndroidRemoteViews` composable allows `RemoteViews` to be placed together\nwith your other composables:\n\n\n```kotlin\nval packageName = LocalContext.current.packageName\nColumn(modifier = GlanceModifier.fillMaxSize()) {\n Text(\"Isn't that cool?\")\n AndroidRemoteViews(RemoteViews(packageName, R.layout.example_layout))\n}https://github.com/android/snippets/blob/5673ffc60b614daf028ee936227128eb8c4f9781/compose/snippets/src/main/java/com/example/compose/snippets/glance/GlanceSnippets.kt#L903-L907\n```\n\n\u003cbr /\u003e\n\nCreate and define the `RemoteViews` as you would without Glance, and simply pass\nit as a parameter.\n\nIn addition, you can create `RemoteViews` containers for your composables:\n\n\n```kotlin\nAndroidRemoteViews(\n remoteViews = RemoteViews(packageName, R.layout.my_container_view),\n containerViewId = R.id.example_view\n) {\n Column(modifier = GlanceModifier.fillMaxSize()) {\n Text(\"My title\")\n Text(\"Maybe a long content...\")\n }\n}https://github.com/android/snippets/blob/5673ffc60b614daf028ee936227128eb8c4f9781/compose/snippets/src/main/java/com/example/compose/snippets/glance/GlanceSnippets.kt#L916-L925\n```\n\n\u003cbr /\u003e\n\nIn this case, a layout that contains the \"container\" is passed with the defined\nID. This container must be a [`ViewGroup`](/reference/android/view/ViewGroup), since it is used to place the\ndefined content.\n| **Note:** Any children of the defined container are removed and replaced with the content. Also, the provided `ViewGroup` must be supported by `RemoteViews.` See [`RemoteViewsWidget.kt`](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/RemoteViewsWidget.kt) for an example of using `AndroidRemoteViews`."]]