Взглянуть мельком

Создавайте макеты для удаленных поверхностей с помощью API в стиле Jetpack Compose.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
7 мая 2025 г. 1.1.1 - - 1.2.0-альфа01

Объявление зависимостей

Чтобы добавить зависимость от Glance, вам необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .

Добавьте зависимости для нужных вам артефактов в файл build.gradle для вашего приложения или модуля:

классный

dependencies {
    // For Glance support
    implementation "androidx.glance:glance:1.2.0-alpha01"
    // For AppWidgets support
    implementation "androidx.glance:glance-appwidget:1.2.0-alpha01"

    // For Wear-Tiles support
    implementation "androidx.glance:glance-wear-tiles:1.0.0-alpha05"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.0-beta03"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Котлин

dependencies {
    // For Glance support
    implementation("androidx.glance:glance:1.2.0-alpha01")
    
    // For AppWidgets support
    implementation("androidx.glance:glance-appwidget:1.2.0-alpha01")

    // For Wear-Tiles support
    implementation("androidx.glance:glance-wear-tiles:1.0.0-alpha05")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.0-beta03"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новую задачу

Дополнительную информацию см. в документации по системе отслеживания проблем .

Версия 1.2

Версия 1.2.0-альфа01

7 мая 2025 г.

Выпущен androidx.glance:glance-*:1.2.0-alpha01 . Версия 1.2.0-alpha01 содержит эти коммиты .

Изменения API

  • currentCompositeKeyHash устарел. Вместо этого используйте currentCompositeKeyHashCode . API замены кодирует один и тот же хэш с большим количеством битов, что экспоненциально снижает вероятность того, что две случайные несвязанные группы в иерархии композиции будут иметь один и тот же хеш-ключ. ( I4cb6a , b/177562901 )
  • Добавляет новый API для указания альфа ( 0f до 1f ) для компонуемого изображения взгляда и модификатора фонового изображения. Если не указано, сохраняется альфа из исходного изображения. ( I8ad05 )
  • Добавьте API-интерфейсы Glance для созданных предварительных просмотров. Переопределите GlanceAppWidget.providePreview , чтобы предоставить макет предварительного просмотра для вашего виджета. Затем вызовите GlanceAppWidgetManager.setWidgetPreview , чтобы настроить предварительный просмотр. ( Лед16 )
  • Добавьте MultiProcessGlanceAppWidget для поддержки многопроцессных конфигураций ( Idbb90 ).
  • Удаляет экспериментальный тег, теперь мы поддерживаем лямбды ( I74d98 , b/299361317 ).
  • Разрешить указание лямбда-приемника для GlanceAppWidget.runComposition ( I84829 ).
  • Добавьте previewSize в requestPinGlanceAppWidget ( I9f8f0 , b/303256067 ).

Исправления ошибок

  • Убрано ручное определение доступа к API новой платформы, поскольку это происходит автоматически посредством моделирования API при использовании R8 с AGP 7.3 или новее (например, R8 версии 3.3) и для всех сборок при использовании AGP 8.1 или новее (например, D8 версии 8.1). Клиентам, не использующим AGP, рекомендуется выполнить обновление до D8 версии 8.1 или более поздней. Более подробную информацию можно найти в этой статье . ( If6b4c , b/345472586 )
  • Обновите библиотеки glance-appwidget для compileSdk 35 ( I2e26b ).

Версия 1.1

Версия 1.1.1

16 октября 2024 г.

Выпущен androidx.glance:glance-*:1.1.1 . Версия 1.1.1 содержит эти коммиты .

Исправления безопасности

  • После этого изменения androidx компилируется с protobuf 4.28.2 для устранения CVE-2024-7254 . Обновите свою зависимость от androidx.glance:glance-appwidget-proto и androidx.glance:glance-appwidget-external-protobuf версии 1.1.0 до 1.1.1, чтобы устранить риск уязвимости.

Версия 1.1.0

12 июня 2024 г.

Выпущен androidx.glance:glance-*:1.1.0 . Версия 1.1.0 содержит эти коммиты .

Важные изменения с версии 1.0.0

  • Перемещает Glance на стабильную версию 1.1.0.

Версия 1.1.0-rc01

14 мая 2024 г.

Выпущен androidx.glance:glance-*:1.1.0-rc01 . Версия 1.1.0-rc01 содержит эти коммиты .

Новые возможности

  • Добавлены параметры ширины и высоты в аннотации предварительного просмотра для Glance. Перемещает версию 1.1.0 в версию-кандидат.

Изменения API

  • Добавляет необязательный параметр в Scaffold. ( Если753f )
  • Добавьте параметры ширины и высоты в Glance @Preview . ( Ибабе8 )
  • Удалена поддержка предварительного просмотра плиток с эффектом износа. ( I3850a )
  • Добавлен API для установки пользовательских значений веса для FontStyle . ( I7390a )
  • Переименуйте перечисления ImplementationMode Viewfinder , чтобы лучше отражать базовые реализации, и добавьте фиксированные константы для TransformationInfo.sourceRotation ( Ic6149 ).

Исправления ошибок

  • Исправлена ​​ошибка, приводившая к проблемам с рендерингом ViewGroups в режиме обратной совместимости ( I8de92 ).

Внешний вклад

  • Экспериментальная версия SharedTransitionScope теперь является интерфейсом, а не классом. ( Iaf856 , б/338415048 , б/338414702 )

Версия 1.1.0-beta02

17 апреля 2024 г.

Выпущен androidx.glance:glance-*:1.1.0-beta02 . Эта версия содержит файлы исходного кода, отсутствовавшие в предыдущей версии.

Версия 1.1.0-бета01

3 апреля 2024 г.

Выпущен androidx.glance:glance-*:1.1.0-beta01 . Версия 1.1.0-beta01 содержит эти коммиты .

Версия 1.1.0-альфа01

7 февраля 2024 г.

Выпущен androidx.glance:glance-*:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит эти коммиты.

Новые возможности

  • Библиотека модульных тестов для Glance, для которой не требуется UI Automator. Код Glance можно протестировать напрямую, без необходимости расширения представления.
  • Компоненты более высокого уровня для более простых макетов.
  • Новые модификаторы и параметры темы.
  • Новый API для получения потока RemoteViews из композиции, runComposition

Изменения API

  • Добавляет новую роль цвета widgetBackground в темы Glance. ( Ia2ab8 )
  • Добавьте GlanceAppWidget.runComposition ( I6344c , b/298066147 )
  • Добавляет новый компонент TopBar ( Ibd361 ).
  • Добавляет переопределения к clickable модификатору. ( Яцекф )
  • Добавляет новый API для тонирования кнопок. Это должно быть экспериментально до выхода версии 1.0. ( I92523 )
  • Добавляет runGlanceAppWidgetUnitTest , который предоставляет область для вызова методов GlanceAppWidgetUnitTest , таких как provideComposable для предоставления небольшого изолированного компонуемого объекта для теста, onNode для поиска компонуемого элемента Glance в предоставленном содержимом. Это позволяет вам писать модульные тесты для отдельных составных функций в вашем appWidget, чтобы убедиться, что при определенных входных данных функция выводит предполагаемый набор составных элементов взгляда. ( I2f682 )
  • Добавляет модификатор testTag в семантику для использования в модульных тестах. ( I8f62f )
  • обновить TitleBar — текст и значок можно менять по отдельности. ( Ia0a60 )
  • Добавляет компонент каркаса ( I8a736 ).
  • Добавляет фильтр hasActionRunCallbackClickAction и assertHasActionRunCallbackClickAction для проверки actionRunCallack . Кроме того, добавлены дополнительные функции сокращенного варианта для тестовых фильтров, связанных с действиями — hasStartActivityClickAction<activityClass>(..) , hasStartServiceAction<receiverClass>(..) , hasSendBroadcastAction<receiverClass>(..) . Добавляет аналогичные варианты для их аналогов assertHasXXX . ( Ieca63 )
  • Перемещает невыпущенный API. Изменяет модификатор с внутреннего на общедоступный, но ограничен библиотекой ( If2a08 ).
  • Добавляет метод onCompositionError , с помощью которого разработчики могут запускать код при возникновении ошибки ( I9b56f ).
  • Добавляет API кнопок и значков на первый взгляд ( I0fd6f )
  • Добавляет фильтры isLinearProgressIndicator , isIndeterminateLinearProgressIndicator , isIndeterminateCircularProgressIndicator для соответствия индикаторам прогресса. Дополнительно включает фильтр hasAnyDescendants для проверки наличия у узла потомка в его подиерархии, который соответствует определенному сопоставителю ( Ifd426 ).
  • Добавляет утверждения и фильтры, позволяющие тестировать действия щелчков, которые запускают службу/действие или широковещательную рассылку. Также включает проверку, проверены ли входные элементы. ( I3041c )

Версия 1.0.0

Версия 1.0.0-альфа06

7 февраля 2024 г.

Выпущены androidx.glance:glance-appwidget-preview:1.0.0-alpha06 и androidx.glance:glance-preview:1.0.0-alpha06 . Версия 1.0.0-alpha06 содержит эти коммиты.

Новые возможности

  • Версия обновлена ​​в соответствии с основным модулем Glance.

Версия 1.0.0

6 сентября 2023 г.

Выпущен androidx.glance:glance-*:1.0.0 . Версия 1.0.0 содержит эти коммиты.

Основные особенности версии 1.0.0

  • Переместить Glance на стабильную версию 1.0.0.

Версия 1.0.0-rc01

26 июля 2023 г.

Выпущен androidx.glance:glance-*:1.0.0-rc01 . Версия 1.0.0-rc01 содержит эти коммиты.

Перемещает Glance в rc01 на пути к стабильной версии 1.0.0.

Новые возможности

  • Добавляет ключевые параметры в лямбды действий для более стабильного вызова действий.
  • Добавляет возможность предоставлять ActvityOptions действия startActivity .
  • Добавляет поддержку Android 14.

Изменения API

  • Добавлен необязательный ключевой параметр для всех элементов, которые принимают лямбда-выражения. ( Id96c1 , б/282445798 )
  • Добавлена ​​поддержка установки пакета ActivityOptions для actionStartActivity ( I6a08d ).
  • Объединены общедоступные и экспериментальные файлы API для путей d,e,f,g ( I03646 , b/278769092 ).
  • Н/Д, изменения файлов API — это просто методы переупорядочения ( I5fa95 ).
  • Добавить API для настройки CoroutineContext для запросов GlanceAppWidgetReceiver ( I0a100 )
  • Добавлен новый API для предоставления ActivityOptions для LazyColumn и LazyVerticalGrid , который будет использоваться для всех действий в списке. ( Id8d71 ).

Исправления ошибок

  • Н/Д, изменения файлов API — это просто методы переупорядочения ( I5fa95 ).
  • Демонстрация стиля текстового компонента Glance ( Ie78a4 )

Версия 1.0.0-бета01

10 мая 2023 г.

Выпущен androidx.glance:glance-*:1.0.0-beta01 . Версия 1.0.0-beta01 содержит эти коммиты.

Новые возможности

  • Перемещает библиотеку в бета-версию.
  • Поддержка оформления тем с помощью GlanceTheme добавляет модули glance-material и glance-material3 для поддержки тем стилей материала 2 и материала 3 в Glance.
  • В текстовый API добавлена ​​поддержка FontFamily .
  • GlanceAppWidget перенесен в механизм обновления на основе сеанса WorkManager . Пользователи Glance для AppWidgets теперь должны переопределить GlanceAppWidget.provideGlance вместо старого метода Content . Поскольку это теперь происходит в рабочем процессе, теперь это хорошее место для загрузки ресурсов, базы данных или элементов сети без необходимости использования отдельного рабочего процесса.

Изменения API

  • Добавлен API *Defaults для Button , Checkbox , RadioButton и Switch . Это приближает взгляд к шаблонам Jetpack Compose. ( I94828 )
  • Новый модуль шаблонов Glance ( I94459 )
  • Создание ResourceColorProvider внутри модуля. Критические изменения. Необходимо, поскольку ResourceColorProvider следует использовать только для динамического оформления тем, чтобы избежать ситуаций, когда некоторые цвета являются динамическими ресурсами, а некоторые полностью разрешены. ( Ib0db7 )
  • Добавляет FontFamily в качестве опции для TextStyle . ( Ic19ba , б/274179837 )
  • Имя параметра значения для Enum.valueOf изменено ( Ia9b89 ).
  • Дополнительные исключения из перечисления valueOf ( I818fe )
  • Обновлен GlanceAppWidget для использования provideGlance в качестве основной точки входа. GlanceAppWidget.Content устарел. ( я202b5 )
  • Добавляет возможность указать цвет оттенка для изображений ( I26192 , b/212418562 ).
  • Больше возможностей возврата к нулю для устаревших скрытых функций. ( Ibf7b0 )
  • Добавление аннотации @JvmDefaultWithCompatibility ( I8f206 )
  • Удален неиспользуемый SingleEntityTemplateData.displayHeader . ( I7f094 )
  • Добавлена ​​поддержка использования лямбда-выражений в качестве обратных вызовов ( Ia0bbd ).
  • DayNightColorProvider перемещен в модуль просмотра ( I1842c , b/256934779 ).
  • Удаляет LocalColorProvider из шаблонов. Шаблоны теперь будут использовать GlanceTheme.colors ( Ic15e2 ).
  • Удалена возможность обнуления из Text(style: TextStyle) ( I7123b , b/237012816 )
  • Цвет текста по умолчанию — черный. удалить обнуляемость ( I3072c , b/237012816 )
  • Создание динамической темы ColorProviders как собственного объекта. Создание ResourceColorProvider внутреннего модуля. ( Id0e2d , б/237012816 )
  • Добавьте категорию «Неопределено» в ImageSize . ( I2fa39 )
  • Удалить устаревшую функцию GlanceAppWidget.Content ( Ib05f6 ).
  • Добавляет модификатор в качестве параметра в AndroidRemoteViews . ( I515d4 )
  • Добавьте GlanceAppWidget.compose , чтобы упростить модульное тестирование ( Ie9b28 ).

Исправления ошибок

  • Добавлен демонстрационный виджет для текстовых шрифтов Glance ( I5c3d7 ).
  • Увеличивает размер AndroidRemoteViews с помощью модификатора.
  • Решены проблемы с несовместимыми цветами темы.
  • Все ресурсы теперь имеют префиксы, чтобы избежать коллизий.

Версия 1.0.0-альфа05

5 октября 2022 г.

Выпущены androidx.glance:glance:1.0.0-alpha05 , androidx.glance:glance-appwidget:1.0.0-alpha05 и androidx.glance:glance-wear-tiles:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит эти коммиты.

Новые возможности

  • Добавляет requestPinGlanceAppWidget в GlanceAppWidgetManager , позволяя приложениям предлагать пользователю добавить виджет на основе Glance на главный экран. ( Ic6e47 )
  • Добавляет ACTION_DEBUG_UPDATE в GlanceAppWidgetReceiver , чтобы позволить разработчикам принудительно обновлять свой виджет из adb на рутованных устройствах и эмуляторах. ( I94ae1 )

Изменения API

  • Удалите кнопки действий из заголовка в шаблонах Glance, чтобы упростить вариант использования. ( Ie4387 )
  • Переработан шаблон Single Entity для повторного использования конструкции блочной подсистемы. ( МЭКД2с )
  • Переработан шаблон списка Glance для использования дизайна блока Text/Image/Action . ( Если0cc1 )
  • Добавьте диапазон приоритетных номеров для TextBlock и ImageBlock . ( I73100 )

Исправления ошибок

  • Удалена зависимость Material3. ( I28d1c )
  • Переход к более последовательной системе добавления полей и интервалов в макетах шаблонов Gloss. ( I29773 )
  • Исправлено неправильное правило Proguard, которое блокировало сборку минифицированных выпусков.

Версия 1.0.0-альфа04

10 августа 2022 г.

Выпущены androidx.glance:glance:1.0.0-alpha04 , androidx.glance:glance-appwidget:1.0.0-alpha04 и androidx.glance:glance-wear-tiles:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит эти коммиты.

Новые возможности

  • Добавляет функции раскрашивания кнопок.
  • Добавляет аннотацию GlanceComposable для лучшей проверки времени компиляции.
  • Добавляет специальные функции Glance для Wear.

Изменения API

  • Обновите API данных галереи Glance и сжатый вид. ( Ibc7a8 )
  • Добавляет ButtonColors для настройки кнопок. ( Iea88d , б/236305351 )
  • Переименуйте ColorProvider.resolve в ColorProvider.getColor ( Ic9dfe ).
  • Добавляет метод copy() в TextStyle . ( I9aef6 )
  • Добавляет класс ColorProviders , который можно использовать как часть тем для Glance. ( I848b9 , б/237012816 )
  • Добавьте поддержку шаблонов списков в стили списков и свернутое представление. ( I50cdc )
  • Добавьте семантику в GlanceModiier и GlanceCurvedModifier . ( Ifda7e )
  • Добавьте аннотацию GlanceComposable . ( I5dbf0 )
  • Перемещает шаблоны Glance в основной проект Glance. ( I9db94 )
  • Добавьте ColorProvider.resolve() ( Ife532 , b/214733442 )
  • Новый метод для получения GlanceId из существующего appWidgetId или намерения из действия конфигурации ( Icb70c , b/230391946 )
  • Добавьте аннотацию GlanceComposable . ( I2c21f )
  • Добавлен GlanceRemoteViews для запуска композиции вне GlanceAppWidget . ( я18f92 )
  • Удалить цвет в ProgressIndicatorDefaults . ( I40299 )
  • Переименуйте метод onRun ActionCallback в onAction, чтобы обеспечить согласованность с общедоступными API, как того требуют отзывы об обзоре API. ( Icfa57 )
  • Преобразование макетов шаблонов Gloss для использования карты ( I46bfd )
  • Добавить составной RadioButton ( I4ecce )
  • Добавлен GlanceWearTiles для составления тайлов износа ( Ia9f65 ).
  • Добавлен кликабельный вариант в GlanceCurvedModifier ( Iec2a0 ).
  • Реализуйте CurvedRow в качестве области и создайте DSL для добавления обычных составных и/или изогнутых элементов. Также добавлены curvedLine и curvedSpacer , которые в прототипах плиток переводятся в ArcLine и ArcSpacer ( Ib955b ).
  • Обновлена ​​возможность обнуления в ядре и appcompat для соответствия Tiramisu DP2 ( I0cbb7 ).
  • Добавить поддержку RuncallbackAction в glear-wear-tiles, на данный момент поддерживается только RunCallbackAction с параметром NO ( Ide64a )

Внешний вклад

  • Обновлено :compose:ui:ui-test api (updateApi) из-за миграции test-coroutines-lib ( I3366d )

Версия 1.0.0-альфа03

23 февраля 2022 г.

Выпущен androidx.glance:glance-*:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит эти коммиты.

Новые возможности

  • Упрощенное определение состояния по умолчанию в настройках.

Изменения API

  • Упростите обработку состояний, сделав PreferencesGlanceStateDefinition обработкой состояний по умолчанию. Удален GlanceAppWidget.updateAppWidgetState и введен updateAppWidgetState , который использует Preferences по умолчанию. ( I58963 )
  • Добавьте класс Glance TemplateText и обновите дизайн шаблона ( I4e146 ).
  • Добавляет структуру структуры для шаблона Freeform ( If03d6 ).
  • Обновления макетов SingleEntityTemplate ( If925d )
  • Добавлен LazyVerticalGrid ( I5f442 ).
  • Использование ColorProvider в SingleEntityTemplate ( I01ee0 )
  • Обновить имя класса шаблона ( I3720e )
  • Добавлены компонуемые LinearProgressIndicator и CircularProgressIndicator . ( Ie116b )

Исправления ошибок

  • Первоначальная реализация шаблонов просмотра, определяет данные «шаблона одного элемента» и пример макета шаблона ( I35837 ).
  • Выравнивание плитки по центру по умолчанию ( I264be )
  • Исправлена ​​ошибка с fillMaxSize/Width/Height в glight-wear-tiles ( I0a39f ).

Версия 1.0.0-альфа02

26 января 2022 г.

Выпущен androidx.glance:glance-*:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит эти коммиты.

Новые возможности

Этот выпуск содержит набор API-интерфейсов для создания плиток износа с использованием среды выполнения Compose с компонентами, оптимизированными для «Glanceable».

  • Объявите свой сервис плиток износа, расширив GlanceTileService — сервис для создания плиток в составной функции Content().
  • Используйте составные элементы для определенного вида плиток: CurvedRow , CurvedText .
  • Обрабатывайте различные режимы временной шкалы для плитки, определяя TimelineMode.SingleEntry и TimelineMode.TimeBoundEntries .
  • LocalTimeInterval , локальная композиция относится к определенному интервалу времени.
  • BorderModifer — это GlanceModifier , применяющий рамку вокруг элемента.

В этом выпуске также добавлены индикаторы прогресса в AppWidget Glance.

Изменения API

  • Добавлены компонуемые LinearProgressIndicator и CircularProgressIndicator . ( Ie116b )
  • Измените actionStartBroadcastReceiver на actionSendBroadcast ( I7d555 ).
  • Передача контекста в обратный вызов GlanceAppWidget onDelete ( I4c795 )

Исправления ошибок

  • Правильная обработка OPTIONS_APPWIDGET_SIZES, если она присутствует, но пуста. ( I01f82 )

Версия 1.0.0-альфа01

15 декабря 2021 г.

androidx.glance:glance:1.0.0-alpha01 , androidx.glance:glance-appwidget:1.0.0-alpha01 и androidx.glance:glance-appwidget-proto:1.0.0-alpha01 выпущены. Версия 1.0.0-alpha01 содержит эти коммиты.

Возможности первоначальной версии

  • Первый выпуск Glance включает в себя первый набор API-интерфейсов для создания AppWidget с использованием Compose Runtime с набором новых Composables, оптимизированных для «Glanceables».

Функции