Remote Compose

  
Remote Compose to środowisko programistyczne do tworzenia interfejsu użytkownika na platformach zdalnych.
Najnowsza aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja beta Wersja alfa
19 maja 2026 r. - - - 1.0.0-alpha11

Deklarowanie zależności

Aby dodać zależność od compose-remote, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w artykule Repozytorium Maven Google.

Dodaj zależności od potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:

Dynamiczny

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

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

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

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

Kotlin

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

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

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

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

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Prześlij opinię

Twoja opinia pomoże nam ulepszyć Jetpacka. Daj nam znać, jeśli znajdziesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Utwórz nową kartę

Więcej informacji znajdziesz w dokumentacji narzędzia do śledzenia problemów Issue Tracker documentation.

Wersja 1.0

Wersja 1.0.0-alpha11

19 maja 2026 r.

Publikacja androidx.compose.remote:remote-*:1.0.0-alpha11. Wersja 1.0.0-alpha11 zawiera te commity.

Zmiany w interfejsie API

  • Udostępnienie statycznej fabryki RemoteInt. (Ic0096, b/484137042)
  • Udostępnienie RemoteState statycznych fabryk (I544f0, b/484137042)
  • RemoteLong obsługuje teraz ograniczony podzbiór operatorów arytmetycznych (dodawanie, odejmowanie, mnożenie i konwersja z obcięciem do RemoteInt). (I1d416)
  • Zaktualizowanie RemoteText, aby używać RemoteFontFamily zamiast FontFamily (Ib76b6, b/502907551)
  • Dodano modyfikatory alpha, rotate i scale. (I5d682, b/505427444)

Wersja 1.0.0-alpha010

6 maja 2026 r.

Publikacja androidx.compose.remote:remote-*:1.0.0-alpha010. Wersja 1.0.0-alpha010 zawiera te commity.

Funkcje

  • Dodanie flagi EnforceCleanRecomposition (I6e4408). W ramach przygotowań do obsługi rekompozycji w RemoteCompose uniemożliwiliśmy zapisywanie w dokumencie przed zakończeniem kompozycji. Zapobiega to częściowemu zapisywaniu dokumentów podczas rekompozycji. Jeśli to zachowanie powoduje problemy z istniejącym kodem, można je wyłączyć, ustawiając wartość isEnforceCleanRecompositionEnabled na false.

Zmiany w interfejsie API

Poprawki błędów

  • Naprawiono przycinanie tła, gdy jako kolor tła używany jest RemoteColor (zamiast statycznego koloru) (If70842, b/505116577)
  • Dodano obsługę podawania jawnego rozmiaru bitmap wczytywanych z URI. Wcześniej rozmiar był obliczany jako 1 x 1, a ten piksel był skalowany do rozmiaru kontenera (Id4fff, b/487936996)
  • Zapobieganie awariom na urządzeniach, które nie mają SensorManager (I1fc947, b/498302479)
  • Naprawiono wyrażenia TIME_FROM, które nie używały podanego zegara (co uniemożliwiało wiarygodne testy wyrażeń czasu trwania) (I5f816, b/501405389)

Wersja 1.0.0-alpha09

22 kwietnia 2026 r.

Publikacja androidx.compose.remote:remote-*:1.0.0-alpha09. Wersja 1.0.0-alpha09 zawiera te commity.

Zmiany w interfejsie API

  • Zmieniono modyfikator clickable, aby nie akceptował wartości null dla parametru action. Zamiast tego należy użyć Action.Empty. (I21be9, b/498881738)
  • Zmieniono parametry modyfikatora padding z left/right na start/end. (Id781c, b/500760020)
  • Zmieniono modyfikatory onTouchDown(varargs action) i onTouchUp(varargs action) na onTouchDown/onTouchUp(action). W przypadku listy działań użyj CombinedAction. (I8af9d, b/498881738)
  • Zmieniono modyfikator clickable(varargs action) na clickable(action). W przypadku listy działań użyj CombinedAction. (I8432d, b/498881738)

Poprawki błędów

  • Naprawiono MatrixExpression.write (Id3c52)

Wersja 1.0.0-alpha08

8 kwietnia 2026 r.

Publikacja androidx.compose.remote:remote-*:1.0.0-alpha08. Wersja 1.0.0-alpha08 zawiera te commity.

Nowe funkcje

  • Promowanie operacji CoreText, TextStyle, TextTransform i ColorTheme do profili podstawowych AndroidX i Widgets (I69671, b/494482597)
    • CoreText zapewnia bogatsze możliwości renderowania tekstu, w tym adaptacyjną zmianę rozmiaru tekstu i lepszą kontrolę nad funkcjami układu tekstu, takimi jak podział wiersza i zachowanie w przypadku przepełnienia.
    • TextStyle umożliwia jednokrotne przechwytywanie w dokumencie typowych atrybutów stylu tekstu i odwoływanie się do nich w wielu fragmentach tekstu.
    • TextTransform umożliwia przekształcanie tekstu, np. zamianę na wielkie litery.
  • Odwrócone renderowanie elementów w układzie poziomym, gdy kierunek układu to RTL i nie jest używany układ poziomy bezwzględny. (I2d38e)

Zmiany w interfejsie API

  • Preferowanie toRemoteString(DecimalFormat) jako interfejsu API dla deweloperów. (Ia4925, b/493924433)
  • Usunięto modyfikator clip(shape, size). Zamiast niego należy użyć modyfikatora clip(shape). (I76301)

Poprawki błędów

  • Zaktualizowano TextLookup, aby śledzić zmiany elementów tablicy. Dzięki temu wyrażenia będą ponownie oceniane, jeśli zmieni się element, do którego się odwołują w tablicy (I162c7)

Wersja 1.0.0-alpha07

25 marca 2026 r.

Publikacja androidx.compose.remote:remote-*:1.0.0-alpha07. Wersja 1.0.0-alpha07 zawiera te commity.

Nowe funkcje

  • Wdrożenie nieliniowego skalowania czcionki (73b23c0)
  • Dostosowanie układów do LayoutDirection (81f984b)

Zmiany w interfejsie API

  • Udostępnienie RemoteSpacer jako publicznego interfejsu API (I1a540)
  • Udostępnienie interfejsu API RemoteBrush applyTo i typeface (I87ce9, b/493249631)
  • Pominięcie parametrów alignment i placement z drawTextOnCircle (I7fd16, b/446824085)
  • Udostępnienie funkcji modyfikatora semantyki (Ice73b)
  • Udostępnienie RemoteImageVector i painterRemoteVector (If8f38, b/446824085)
  • Udostępnienie RemoteTimeDefaults jako publicznego interfejsu API w remote-creation-compose (Iddc74, b/446824085)
  • Udostępnienie metod RemoteArrangement.spacedBy (I36e86)
  • Udostępnienie większej liczby interfejsów API RemoteDrawScope (I1dde7)
  • Udostępnienie typów RemotePainter w interfejsie API (I1ec8e)
  • Udostępnienie interfejsu API RemoteBrush (I4b074)
  • Minimalny publiczny interfejs API dla RemoteCanvas (I00853, b/446824085)
  • Udostępnienie modyfikatorów semantyki RC (I8b175, b/446824085)
  • Udostępnienie RemoteFloat.asRemoteDp() (I28b36, b/446824085)
  • Udostępnienie RemoteFloat operacji (I85fb5, b/446824085)
  • Usunięto RemoteArrangement.CenterHorizontally i zastąpiono go RemoteArrangement.Center. (I2f907, b/471212869, b/471153933)
  • Zmieniono wyrównanie RemoteBox, aby akceptowało pojedynczy RemoteAlignment. (I0bfbf, b/471212869)

Wersja 1.0.0-alpha06

11 marca 2026 r.

Publikacja androidx.compose.remote:remote-*:1.0.0-alpha06. Wersja 1.0.0-alpha06 zawiera te commity.

Nowe funkcje

  • Dodanie nowej eksperymentalnej operacji dla TextStyle. TextStyle umożliwia jednokrotne zapisanie w dokumencie powszechnie używanego stylu typografii i ponowne użycie go w kilku fragmentach tekstu (bfc6487)

Zmiany w interfejsie API

  • Udostępnienie scalania RemoteTextStyle (I971ce, b/446824085)
  • Udostępnienie RemotePainter jako publicznego interfejsu API (I252c1, b/446824085)
  • Udostępnienie modyfikatorów Border/Clip i RemoteShape. (Id26dd, b/446824085)
  • Udostepnienie RemoteColor interfejsów API w remote-creation-compose (I4ab00, b/446824085)
  • Udostępnienie interobszaru API RemoteText (I6b019)
  • Udostępnienie interfejsu API RemoteImage (Ided31)
  • Udostępnienie interfejsów API RemoteBoolean, RemoteString i RemoteFloat (Id9ee6)
  • Zdalny element kompozycyjny z adnotacji WidthIn (I80784)

Poprawki błędów

  • Przeniesienie bibliotek do używania Javy 11. Oznacza to, że wygenerowany kod bajtowy będzie w Javie 11 (wersja pliku klasy 55) i może wymagać desugaryzacji, aby można było używać biblioteki (If4c2a, b/457821470)
    • Zapewnienie prawidłowej aktualizacji długości i textlookup. Wcześniej długość RemoteStrings była obliczana w pierwszej klatce i nie była aktualizowana (e49cb53)
    • Dodano obsługę TextFromFloat w przypadku liczb z dużymi częściami ułamkowymi. Wcześniej duże wartości „digitsAfter” mogły powodować, że wartość zmiennoprzecinkowa była oceniana jako 0 (5080bc54)

Wersja 1.0.0-alpha05

25 lutego 2026 r.

Publikacja androidx.compose.remote:remote-*:1.0.0-alpha05. Wersja 1.0.0-alpha05 zawiera te commity.

Nowe funkcje

  • Wprowadzono fillParentMaxWidth i fillParentMaxHeight. (4c6d77c)

Zmiany w interfejsie API

  • Udostępnienie typowych zdalnych elementów kompozycyjnych i modyfikatorów (Id1d40)
  • Udostępnienie typów dla RemoteState (I22429, b/465453482)

Poprawki błędów

  • Poprawki dotyczące przewijania (0a25299)
  • Poprawki dotyczące progu dotyku (0192b69)
  • Ustawienie gęstości wcześniej w procesie renderowania, aby była ona prawidłowo stosowana w pierwszej klatce (często przechwytywanej w testach zrzutów ekranu) (f775399)

Wersja 1.0.0-alpha04

11 lutego 2026 r.

Publikacja androidx.compose.remote:remote-*:1.0.0-alpha04. Wersja 1.0.0-alpha04 zawiera te commity.

Nowe funkcje

  • Domyślne włączenie używania RemoteApplier, co uniemożliwia używanie funkcji kompozycyjnych innych niż zdalne podczas tworzenia zdalnego interfejsu użytkownika. Można to wyłączyć, zmieniając isRemoteApplierEnabled w RemoteComposeCreationComposeFlags. (67a405f)
  • Dodanie odstępów między glifami w przypadku czcionek bitmapowych (0852657)
  • Obracanie z punktem obrotu w RemoteCanvas (9a292b3)
  • Dodanie RemoteSpacer (12beb72)
  • Unikanie zależności od java.time, co pozwala obniżyć minSdk bibliotek tworzenia do 23 (59e30d0)
  • FlowLayout (7efef02)

Poprawki błędów

  • Naprawiono ocenę dla nieglobalnego ColorExpression i obliczonego ciągu. (c08d0bd)

Wkład zewnętrzny

  • Alias typu androidx.compose.ui.graphics.NativePaint jest wycofany. Zamiast niego używaj bezpośrednio android.graphics.Paint (I6303c, b/477394763)
  • Zastąpienie rozszerzenia Paint.asFrameworkPaint() rozszerzeniem Paint.nativePaint, aby uniknąć udostępniania typu platformy w zestawie źródeł commonMain za pomocą typealias (I6303c, b/477394763)

Wersja 1.0.0-alpha03

28 stycznia 2026 r.

Publikacja androidx.compose.remote:remote-*:1.0.0-alpha03. Wersja 1.0.0-alpha03 zawiera te commity.

Nowe funkcje

  • Obsługa różnych kształtów i RemoteColors w BorderModifier 0afd343
  • Dodanie CombinedAction do obsługi wielu działań w przypadku kliknięć 10e16a2

Zmiany w interfejsie API

  • Przeniesienie interfejsów API RemoteColor i RemoteBitmap do używania typów Compose zamiast bezpośredniego udostępniania typów Androida a9bfbb8
  • Wprowadzenie typu RemoteDensity, aby umożliwić określenie, czy gęstość ma być oceniana w odtwarzaczu (podczas tworzenia dokumentu na urządzenie zdalne), czy też wyrażenia mają być wstawiane (aby zoptymalizować rozmiar dokumentu na tym samym urządzeniu) 54352bb
  • RemoteState constantValueOrNull zmiana nazwy (I6ad5c, b/467050397)

Wersja 1.0.0-alpha02

14 stycznia 2026 r.

Publikacja androidx.compose.remote:remote-*:1.0.0-alpha02. Wersja 1.0.0-alpha02 zawiera te commity.

Nowe funkcje

  • Dodanie minimalnego i maksymalnego rozmiaru czcionki dla CoreText. I7bd3c

Zmiany w interfejsie API

  • Udostępnienie minimalnego publicznego interfejsu API dla infrastruktury Glance Wear. (I7b4b9, b/467532762)
  • Zwracanie CapturedDocument z captureSingleRemoteDocument (I5a283, b/467532762)

Poprawki błędów

  • Naprawiono pozycję przewijania po zmianie układu i dodano obsługę efektów krawędzi (6d4551)

Wersja 1.0.0-alpha01

17 grudnia 2025 r.

Publikacja androidx.compose.remote:remote-*:1.0.0-alpha01. Wersja 1.0.0-alpha01 zawiera te commity.

  • Remote Compose to platforma do tworzenia interfejsu użytkownika na platformach zdalnych.