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

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

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

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

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

Groovy

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

    // 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"
    }
}

Kotlin

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

    // 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.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 в версию Release Candidate.

Изменения 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 for 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 в glook-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».

Функции