удаленное создание

Remote Compose — это фреймворк для создания пользовательского интерфейса для удалённых поверхностей.
Последнее обновление Стабильный релиз Предварительная версия релиза Бета-версия Альфа-версия
1 июля 2026 г. - - - 1.0.0-alpha14

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

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

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

Классный

dependencies {
    implementation "androidx.compose.remote:remote-core:1.0.0-alpha14"

    // Use to create Remote Compose documents
    implementation "androidx.compose.remote:remote-creation:1.0.0-alpha14"
    implementation "androidx.compose.remote:remote-creation-core:1.0.0-alpha14"
    implementation "androidx.compose.remote:remote-creation-android:1.0.0-alpha14"
    implementation "androidx.compose.remote:remote-creation-jvm:1.0.0-alpha14"
    implementation "androidx.compose.remote:remote-creation-compose:1.0.0-alpha14"

    // Use to render a Remote Compose document
    implementation "androidx.compose.remote:remote-player-core:1.0.0-alpha14"
    implementation "androidx.compose.remote:remote-player-view:1.0.0-alpha14"

    implementation "androidx.compose.remote:remote-tooling-preview:1.0.0-alpha14"
}

Котлин

dependencies {
    implementation("androidx.compose.remote:remote-core:1.0.0-alpha14")

    // Use to create Remote Compose documents
    implementation("androidx.compose.remote:remote-creation:1.0.0-alpha14")
    implementation("androidx.compose.remote:remote-creation-core:1.0.0-alpha14")
    implementation("androidx.compose.remote:remote-creation-android:1.0.0-alpha14")
    implementation("androidx.compose.remote:remote-creation-jvm:1.0.0-alpha14")
    implementation("androidx.compose.remote:remote-creation-compose:1.0.0-alpha14")

    // Use to render a Remote Compose document
    implementation("androidx.compose.remote:remote-player-core:1.0.0-alpha14")
    implementation("androidx.compose.remote:remote-player-view:1.0.0-alpha14")

    implementation("androidx.compose.remote:remote-tooling-preview:1.0.0-alpha14")
}

Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .

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

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

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

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

Версия 1.0

Версия 1.0.0-alpha14

1 июля 2026 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha14 . Версия 1.0.0-alpha14 содержит следующие коммиты .

Изменения в API

  • В RemoteCreationDisplayInfo в качестве публичных API реализованы конструкторы RemoteDensityBehavior и конструкторы, учитывающие поведение плотности. ( Iafca2 , b/524921038 )
  • Отображается densityBehavior в RemoteCreationDisplayInfo и RemoteComposeCreationState . ( Iae938 , b/524921038 )
  • Сделал RemoteComposeCreationComposeFlags общедоступным. ( I1f899 , b/467532762 )

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

  • Добавлена ​​проверка синтаксиса, предупреждающая об использовании стандартных Compose CompositionLocals в RemoteComposable . ( Ic12ba )
  • Удалено требование к compileSdk 37 ( If78b4 )
  • Удалена устаревшая документация rememberRemoteStringList . ( I99722 )
  • Исправлена ​​ошибка отображения регулировки толщины шрифта, когда параметр регулировки не задан. ( I16704 , b/522050705 )
  • Выравнивание BorderModifier по отношению к поведению Compose для отрисовки внутри границ компонента. ( Iae36c )
  • Исправлена ​​ошибка RemoteComposeWriter , из-за которой DOC_PROFILES сериализуется в конструкторе. ( I3bbea )
  • Исправлена ​​встроенная поддержка динамических цветов RemoteModifier.background . ( If4f04 , b/499049643 )

Особенности : - Добавлен параметр typefaceResolver в RemoteDocumentPlayer . ( Ie7cda , b/524621320 ) - Добавлена ​​поддержка пользовательских компонентов для проигрывателя Compose. ( Ic0559 ) - Оптимизированы операции выбора, где оба варианта одинаковы. ( I55b9e , b/390355362 )

Версия 1.0.0-alpha13

17 июня 2026 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha13 . Версия 1.0.0-alpha13 содержит следующие коммиты .

Изменения в API

  • Переименуйте RemoteBitmap в RemoteImageBitmap для повышения согласованности именования. ( I4fde1 , b/513228889 )
  • Переименуйте RemoteBitmapShader в RemoteImageBrush и сделайте его доступным через публичный API. ( I7adaf , b/513228889 )
  • Предоставить доступ к операторам сравнения RemoteInt . ( I5fe3d , b/513228889 )
  • Представлены API потока captureRemoteDocument и новая перегрузка captureSingleRemoteDocument (принимающая RemoteCreationDisplayInfo ) в качестве публичных API. ( I87b0e , b/513228889 )
  • Переименовать операторы сравнения (eq, ne) в RemoteBoolean в isEqualTo , isNotEqualTo . ( Ia05b9 , b/513228889 )
  • Предоставить доступ RemoteEnum и RemoteStateLayout в качестве публичных API ( I5c6ec )
  • Свойство fontVariationSettings стало доступным в интерфейсе RemotePaint в качестве публичного API. ( Ic3c46 , b/513228889 )
  • Удалите методы RemoteInt и RemoteFloat toRemoteString . ( I62a6b , b/513228889 )
  • Доступен API RemoteTypeface . ( Iadfdb , b/502907551 )
  • Существующие фабричные функции ValueChange переименованы в valueChange написанные строчными буквами. ( I812b9 , b/513228889 )
  • Made PendingIntentAction safe for IDE previews by deferring PendingIntent access via a lambda and returning a no-op action in preview mode. ( I43b37 , b/512403924 )

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

  • Введение внутренних абстракций TypefaceResolver и DefaultTypefaceResolver для модульной организации разрешения шрифтов. ( Ia1df7 , b/513228889 )
  • Удалены устаревшие API-интерфейсы RemoteIntReference и RemoteStringList , а также добавлен RemoteStringArray для поддержки массивов удаленных строк. ( I12931 )
  • Передать LocalInspectionMode на этап захвата удаленного состава ( I6a56b , b/512403924 )

Версия 1.0.0-alpha12

3 июня 2026 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha12 . Версия 1.0.0-alpha12 содержит следующие коммиты .

Изменения в API

  • Modifiers onTouchCancel(varargs action) and onTouchCancel(List<Action>) were changed to onTouchCancel(action) . Use CombinedAction for a list of actions. ( Ia7b5a , b/498881738 )
  • Предоставить доступ к статической фабрике RemoteBoolean . ( Ifedb6 , b/484137042 )
  • Предоставлены фабричные функции hostAction и combinedAction для возможности внешнего использования. ( I78002 )
  • Добавьте функции RemoteContentPreview , RemoteDocumentPreview и RemotePreviewWrapper для предварительного просмотра содержимого удаленного создания документа. ( I706ae , b/507379403 )

Версия 1.0.0-alpha11

19 мая 2026 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha11 . Версия 1.0.0-alpha11 содержит следующие коммиты .

Изменения в API

  • Предоставить доступ к статической фабрике RemoteInt . ( Ic0096 , b/484137042 )
  • Предоставить доступ к статическим фабрикам RemoteState ( I544f0 , b/484137042 )
  • Теперь RemoteLong поддерживает ограниченный набор арифметических операторов (сложение, вычитание, умножение и преобразование с усечением в RemoteInt ). ( I1d416 )
  • Обновите RemoteText , чтобы он использовал RemoteFontFamily вместо FontFamily ( Ib76b6 , b/502907551 )
  • Были добавлены модификаторы альфа-канала, вращения и масштабирования. ( I5d682 , b/505427444 )

Версия 1.0.0-alpha010

6 мая 2026 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha010 . Версия 1.0.0-alpha010 содержит следующие коммиты .

Функции

  • Добавлен флаг EnforceCleanRecomposition ( I6e4408 ). В качестве шага к поддержке перекомпозиции в RemoteCompose мы предотвратили запись чего-либо в документ до завершения компоновки. Это предотвращает частичную запись документов во время перекомпозиции. Если такое поведение вызывает проблемы с существующим кодом, его можно отключить, установив isEnforceCleanRecompositionEnabled в значение false .

Изменения в API

  • Добавлена ​​библиотека для тестирования Remote Compose. ( I78746 , b/504687418 )

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

  • Исправлена ​​ошибка обрезки фона при использовании RemoteColor (вместо статического цвета) в качестве цвета фона ( If70842 , b/505116577 )
  • Support providing an explicit size for bitmaps loaded from URI. Previously the size would be calculated as 1x1, and that pixel would be scaled to the container size ( Id4fff , b/487936996 )
  • Предотвращение ошибки, приводящей к сбою на устройствах, не имеющих SensorManager ( I1fc947 , b/498302479 )
  • Исправлена ​​ошибка, из-за которой выражения TIME_FROM не использовали предоставленные часы (что препятствовало надежной проверке выражений длительности) ( I5f816 , b/501405389 ).

Версия 1.0.0-alpha09

22 апреля 2026 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha09 . Версия 1.0.0-alpha09 содержит следующие коммиты .

Изменения в API

  • Модификатор clickable изменен таким образом, чтобы не принимать значение null для параметра action. Вместо него следует использовать Action.Empty. ( I21be9 , b/498881738 )
  • Параметры модификатора отступов были изменены с left/right на start/end. ( Id781c , b/500760020 )
  • Модификаторы onTouchDown(varargs action) и onTouchUp(varargs action) были изменены на onTouchDown/onTouchUp(action) . Используйте CombinedAction для получения списка действий. ( I8af9d , b/498881738 )
  • Модификатор clickable(varargs action) был изменен на clickable(action) . Используйте CombinedAction для получения списка действий. ( I8432d , b/498881738 )

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

  • Исправить MatrixExpression.write ( Id3c52 )

Версия 1.0.0-alpha08

8 апреля 2026 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha08 . Версия 1.0.0-alpha08 содержит следующие коммиты .

Новые функции

  • Перенесите операции CoreText , TextStyle , TextTransform и ColorTheme в базовые профили AndroidX и виджетов ( I69671 , b/494482597 ).
    • CoreText предоставляет расширенные возможности для отображения текста, включая адаптивное изменение размера текста и улучшенный контроль над функциями компоновки текста, такими как перенос строк и поведение при переполнении.
    • TextStyle позволяет один раз зафиксировать в документе общие атрибуты стиля текста и использовать их в нескольких фрагментах текста.
    • TextTransform позволяет преобразовывать текст, например, переводить текст в верхний регистр.
  • Обратное отображение элементов в горизонтальной компоновке, когда направление компоновки — RTL (справа налево) и не используется абсолютное горизонтальное расположение. ( I2d38e )

Изменения в API

  • В качестве API для разработчиков предпочтительнее использовать toRemoteString(DecimalFormat) . ( Ia4925 , b/493924433 )
  • Модификатор clip(shape, size) был удален. Вместо него следует использовать модификатор clip(shape) . ( I76301 )

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

  • Обновите TextLookup , чтобы она отслеживала изменения элементов массива. Это гарантирует, что выражения будут переоценены, если элемент, который они ищут в массиве, изменился ( I162c7 ).

Версия 1.0.0-alpha07

25 марта 2026 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha07 . Версия 1.0.0-alpha07 содержит следующие коммиты .

Новые функции

  • Реализовать нелинейное масштабирование шрифта ( 73b23c0 )
  • Учитывайте LayoutDirection при создании макетов ( 81f984b )

Изменения в API

  • Предоставить RemoteSpacer в качестве публичного API ( I1a540 )
  • Сделать API RemoteBrush applyTo и typeface общедоступными ( I87ce9 , b/493249631 )
  • Omit alignment and placement parameters from drawTextOnCircle ( I7fd16 , b/446824085 )
  • Предоставить доступ к функциям модификаторов семантики ( Ice73b )
  • Expose RemoteImageVector and painterRemoteVector ( If8f38 , b/446824085 )
  • Предоставить доступ RemoteTimeDefaults в качестве публичного API в remote-creation-compose ( Iddc74 , b/446824085 )
  • Сделать методы RemoteArrangement.spacedBy публичными ( I36e86 )
  • Расширение возможностей API RemoteDrawScope ( I1dde7 )
  • Предоставить доступ к типам RemotePainter в API ( I1ec8e )
  • Предоставить доступ к API RemoteBrush ( I4b074 )
  • Минимальный публичный API для RemoteCanvas ( I00853 , b/446824085 )
  • Показать модификаторы семантики RC ( I8b175 , b/446824085 )
  • Expose RemoteFloat.asRemoteDp() ( I28b36 , b/446824085 )
  • Предоставить доступ к операциям RemoteFloat ( I85fb5 , b/446824085 )
  • RemoteArrangement.CenterHorizontally был удален и заменен на RemoteArrangement.Center . ( I2f907 , b/471212869 , b/471153933 )
  • Измените выравнивание RemoteBox , чтобы оно принимало один RemoteAlignment . ( I0bfbf , b/471212869 )

Версия 1.0.0-alpha06

11 марта 2026 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha06 . Версия 1.0.0-alpha06 содержит следующие коммиты .

Новые функции

  • Добавлена ​​новая экспериментальная операция для TextStyle . TextStyle позволяет записывать часто используемые стили типографики в документ один раз и повторно использовать их в нескольких текстовых блоках ( bfc6487 ).

Изменения в API

  • Expose RemoteTextStyle merge ( I971ce , b/446824085 )
  • Предоставить RemotePainter в качестве публичного API ( I252c1 , b/446824085 )
  • Отображение модификаторов Border/Clip и RemoteShape . ( Id26dd , b/446824085 )
  • Предоставить доступ к API RemoteColor в remote-creation-compose ( I4ab00 , b/446824085 )
  • Предоставить доступ к API RemoteText ( I6b019 )
  • Предоставить доступ к API RemoteImage ( Ided31 )
  • Предоставляется доступ к API для типов RemoteBoolean , RemoteString и RemoteFloat ( Id9ee6 )
  • Remote Composable from WidthIn annotation ( I80784 )

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

  • Moves libraries to use Java 11 target. This means produced bytecode will be Java 11 (class file version 55) and might require desugaring to use the library ( If4c2a , b/457821470 )
    • Убедитесь, что параметры length и textlookup обновляются корректно. Ранее длина RemoteStrings вычислялась в первом кадре и не обновлялась впоследствии ( e49cb53 ).
    • Поддерживается TextFromFloat для чисел с большими дробными составляющими. Ранее большие значения параметра "digitsAfter" могли привести к тому, что число с плавающей запятой принимало значение 0 ( 5080bc54 ).

Версия 1.0.0-alpha05

25 февраля 2026 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит следующие коммиты .

Новые функции

  • Введены функции fillParentMaxWidth и fillParentMaxHeight . ( 4c6d77c )

Изменения в API

  • Предоставить доступ к общим типам Remote Composable и Modifier ( Id1d40 )
  • Предоставить доступ к типам для RemoteState ( I22429 , b/465453482 )

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

  • Исправлены ошибки прокрутки ( 0a25299 )
  • Исправлены ошибки, связанные с люфтом сенсорного экрана ( 0192b69 )
  • Установите плотность на более раннем этапе процесса рендеринга, чтобы она корректно применялась к первому кадру (часто это фиксируется в тестах на скриншотах) ( f775399 )

Версия 1.0.0-alpha04

11 февраля 2026 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит следующие коммиты .

Новые функции

  • Включить использование RemoteApplier по умолчанию, что предотвращает использование функций, не являющихся функциями Remote Composable, при создании удаленного пользовательского интерфейса. Это можно отключить, изменив isRemoteApplierEnabled в RemoteComposeCreationComposeFlags . ( 67a405f )
  • Добавить межсимвольное расстояние для растровых шрифтов ( 0852657 )
  • Поворот с помощью точки опоры в RemoteCanvas ( 9a292b3 )
  • Добавить RemoteSpacer ( 12beb72 )
  • Избегайте зависимости java.time , что позволит снизить minSdk библиотек создания до 23 ( 59e30d0 ).
  • FlowLayout ( 7efef02 )

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

  • Исправлена ​​ошибка вычисления для неглобального ColorExpression и вычисляемой строки. ( c08d0bd )

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

  • Параметр androidx.compose.ui.graphics.NativePaint typealias` устарел, используйте android.graphics.Paint напрямую ( I6303c , b/477394763 ).
  • Замените Paint.asFrameworkPaint() на расширение Paint.nativePaint чтобы избежать раскрытия типа платформы в исходном коде commonMain через typealias ( I6303c , b/477394763 ).

Версия 1.0.0-alpha03

28 января 2026 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит следующие коммиты .

Новые функции

  • Поддержка различных форм и RemoteColors в BorderModifier 0afd343
  • Добавить CombinedAction для поддержки нескольких действий по событиям клика 10e16a2

Изменения в API

  • Перенесены API RemoteColor и RemoteBitmap для использования типов Compose, вместо прямого предоставления типов Android a9bfbb8
  • Ввести тип RemoteDensity , позволяющий определять, следует ли вычислять значение Density на плеере (при создании документа для удаленного устройства) или встраивать выражения (для оптимизации размера документа при работе на одном устройстве) 54352bb
  • RemoteState constantValueOrNull rename ( I6ad5c , b/467050397 )

Версия 1.0.0-alpha02

14 января 2026 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты .

Новые функции

  • Добавить минимальный/максимальный размер шрифта для CoreText. I7bd3c

Изменения в API

  • Предоставить минимальный публичный API для инфраструктуры Glance Wear. ( I7b4b9 , b/467532762 )
  • Возвращает CapturedDocument из captureSingleRemoteDocument ( I5a283 , b/467532762 )

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

  • Fix scrolling position after relayout + add support for edge effects ( 6d4551 )

Версия 1.0.0-alpha01

17 декабря 2025 г.

Выпущена версия androidx.compose.remote:remote-*:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты .

  • Remote Compose — это фреймворк для создания пользовательского интерфейса для удалённых устройств.