W skrócie

Twórz układy dla powierzchni zdalnych za pomocą interfejsu API Jetpack Compose.
Najnowsza aktualizacja Wersja stabilna Kandydat do publikacji Wersja Beta Wersja alfa
12 czerwca 2024 r. 1.1.0 - - -

Deklarowanie zależności

Aby dodać zależność w Glance, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.

W pliku build.gradle aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:

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

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

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.

Utwórz nowy numer

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 1.1

Wersja 1.1.0

12 czerwca 2024 r.

Aplikacja androidx.glance:glance-*:1.1.0 została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.0.0

  • Przenosi Glance do wersji stabilnej 1.1.0.

Wersja 1.1.0-rc01

14 maja 2024 r.

Aplikacja androidx.glance:glance-*:1.1.0-rc01 została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy parametry szerokości i wysokości do adnotacji podglądu w funkcji W skrócie. Przenosi wersję 1.1.0 do listy kandydatów do publikacji.

Zmiany w interfejsie API

  • Dodaje opcjonalny parametr do Scaffold. (If753f)
  • Dodaj parametry szerokości i wysokości do funkcji W skrócie @Preview. (Ibabe8)
  • Wyłącz obsługę podglądów kafelków odzieży w trybie Przeglądu. (I3850a)
  • Dodano interfejs API do ustawiania niestandardowych wartości wagi dla FontStyle. (I7390a)
  • Zmień nazwy wartości liczbowych ImplementationMode w tabeli Viewfinder, aby lepiej odzwierciedlać podstawowe implementacje, i dodaj stałe stałe dla TransformationInfo.sourceRotation (Ic6149)

Poprawki błędów

  • Naprawiono błąd, który powodował problemy z renderowaniem zasobu ViewGroups w trybie zgodności wstecznej (I8de92).

Wkład z zewnątrz

Wersja 1.1.0-beta02

17 kwietnia 2024 r.

Aplikacja androidx.glance:glance-*:1.1.0-beta02 została zwolniona. Ta wersja zawiera źródłowe pliki jar, których brakowało w poprzedniej wersji.

Wersja 1.1.0-beta01

3 kwietnia 2024 r.

Aplikacja androidx.glance:glance-*:1.1.0-beta01 została zwolniona. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.

Wersja 1.1.0-alfa01

7 lutego 2024 r.

Aplikacja androidx.glance:glance-*:1.1.0-alpha01 została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Biblioteka testów jednostkowych Glance, która nie wymaga Automatora UI. Kod w skrócie można przetestować bezpośrednio bez konieczności zwiększania rozmiaru widoku.
  • Komponenty z wyższym poziomem usprawniające układy.
  • Nowe modyfikatory i opcje motywów.
  • Nowy interfejs API do pobierania przepływu widoków zdalnych z kompozycji, runComposition

Zmiany w interfejsie API

  • Dodaje nową rolę koloru widgetBackground do motywów Glance. (Ia2ab8)
  • Dodaj GlanceAppWidget.runComposition (I6344c, b/298066147)
  • Dodaje nowy komponent TopBar (Ibd361)
  • Dodaje zastąpienia do modyfikatora clickable. (Iacecf)
  • Dodaje nowy interfejs API do zabarwiania przycisków. Powinno to być funkcja eksperymentalna do czasu wysłania w wersji 1.0. (I92523)
  • Dodaje element runGlanceAppWidgetUnitTest, który określa zakres metod wywoływania w metodzie GlanceAppWidgetUnitTest, np. provideComposable, aby udostępnić mały izolowany element kompozycyjny do testowania, onNode – który pozwala znaleźć w dostarczonej treści element kompozycyjny Glance. Dzięki temu możesz napisać testy jednostkowe poszczególnych funkcji kompozycyjnych w aplikacji AppWidget, by sprawdzić, czy przy danych wejściowych funkcja zwraca zamierzony zestaw elementów kompozycyjnych. (I2f682)
  • Dodaje w semantyce modyfikator testTag używany w testach jednostkowych. (I8f62f)
  • zaktualizuj TitleBar – możesz zmienić kolor tekstu i ikony. (Ia0a60)
  • Dodaje komponent scaffold (I8a736)
  • Dodaje filtr hasActionRunCallbackClickAction i assercję assertHasActionRunCallbackClickAction do testowania actionRunCallack. Dodano też dodatkowe skrócone funkcje wariantów dla filtrów testowych związanych z działaniami – hasStartActivityClickAction<activityClass>(..), hasStartServiceAction<receiverClass>(..), hasSendBroadcastAction<receiverClass>(..). Dodaje podobne warianty do wersji assertHasXXX. (Ieca63)
  • Przenosi nieopublikowany interfejs API. Zmienia modyfikator z wewnętrznego na publiczny, ale z ograniczeniem do biblioteki (If2a08)
  • Dodaje metodę onCompositionError, dzięki której deweloperzy mogą uruchamiać kod w przypadku wystąpienia błędu (I9b56f).
  • Dodaje interfejsy API przycisku i ikony (I0fd6f).
  • Dodaje filtry isLinearProgressIndicator, isIndeterminateLinearProgressIndicator i isIndeterminateCircularProgressIndicator pasujące do wskaźników postępu. Dodatkowo filtr hasAnyDescendants służący do sprawdzania, czy w podhierarchii węzła istnieje element podrzędny zgodny z konkretnym dopasowaniem (Ifd426)
  • Dodaje asercje i filtry umożliwiające testowanie działań związanych z kliknięciem, które uruchamiają usługę, aktywność lub transmisje. Obejmuje też sprawdzanie, czy elementy wejściowe są zaznaczone. (I3041c)

Wersja 1.0.0

Wersja 1.0.0-alfa06

7 lutego 2024 r.

Opublikowano androidx.glance:glance-appwidget-preview:1.0.0-alpha06 i androidx.glance:glance-preview:1.0.0-alpha06. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.

Nowe funkcje

  • Wersja została zaktualizowana, aby była zgodna z głównym modułem Glance.

Wersja 1.0.0

6 września 2023 r.

Aplikacja androidx.glance:glance-*:1.0.0 została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje wersji 1.0.0

  • Przenieś Glance na stabilną wersję 1.0.0

Wersja 1.0.0-rc01

26 lipca 2023 r.

Aplikacja androidx.glance:glance-*:1.0.0-rc01 została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Przenosi Glance do rc01 w drodze do stabilnej wersji 1.0.0.

Nowe funkcje

  • Dodaje kluczowe parametry do funkcji lambda działań, aby zwiększać stabilność wywoływania działań.
  • Dodaje możliwość udostępnienia funkcji ActvityOptions do działań startActivity.
  • Obsługa Androida 14

Zmiany w interfejsie API

  • Dodaliśmy opcjonalny parametr klucza w przypadku wszystkich elementów, które akceptują obiekty lambda. (Id96c1, b/282445798)
  • Dodano obsługę ustawienia pakietu ActivityOptions dla actionStartActivity (I6a08d)
  • Scalone publiczne i eksperymentalne pliki interfejsu API dla ścieżek d,e,f,g-path (I03646, b/278769092)
  • Nie dotyczy, zmiany w plikach interfejsu API to tylko metody zmiany kolejności (I5fa95)
  • Dodaj interfejs API do ustawienia CoroutineContext dla żądań GlanceAppWidgetReceiver (I0a100)
  • Dodaliśmy nowy interfejs API, który udostępnia ActivityOptions dla usług LazyColumn i LazyVerticalGrid, które będą używane w przypadku wszystkich działań na liście.(Id8d71).

Poprawki błędów

  • Nie dotyczy, zmiany w plikach interfejsu API to tylko metody zmiany kolejności (I5fa95)
  • Wersja demonstracyjna stylu komponentu tekstowego Glance (Ie78a4)

Wersja 1.0.0-beta01

10 maja 2023 r.

Aplikacja androidx.glance:glance-*:1.0.0-beta01 została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Nowe funkcje

  • Przenosi bibliotekę do wersji beta.
  • Obsługa motywów z użyciem GlanceTheme oraz dodanie modułów „glance-material” i „glance-material3” do obsługi motywów ze stylem Material 2 i Material 3 w narzędziu Glance.
  • Obsługa interfejsu FontFamily została dodana do tekstowych interfejsów API.
  • Element GlanceAppWidget został przeniesiony do mechanizmu aktualizacji na podstawie sesji WorkManager. Użytkownicy funkcji Glance w domenie AppWidgets powinni teraz zastąpić metodę GlanceAppWidget.provideGlance zamiast starej metody Content. Obecnie ma to miejsce w instancji roboczej, więc jest to dobre miejsce do wczytywania zasobów, bazy danych lub elementów sieciowych bez konieczności tworzenia osobnej instancji roboczej.

Zmiany w interfejsie API

  • Dodano interfejs API *Defaults dla systemów Button, Checkbox, RadioButton i Switch. W ten sposób zbliżysz się do wzorców gry Jetpack Compose. (I94828)
  • Nowy moduł szablonów Glance (I94459)
  • Ustawiam ResourceColorProvider jako wewnętrzny w module. Nadmiarowa zmiana. Wymagana, ponieważ atrybutu ResourceColorProvider należy używać tylko na potrzeby motywów dynamicznych. Pozwala to uniknąć sytuacji, w których niektóre kolory są zasobami dynamicznymi, a niektóre są w pełni rozpoznane. (Ib0db7).
  • Dodaje FontFamily jako opcję dla TextStyle. (Ic19ba, b/274179837)
  • Zmieniono nazwę parametru wartości pola Enum.valueOf (Ia9b89)
  • Więcej zgłoszonych wyjątków od wyliczenia valueOf (I818fe)
  • Zaktualizowano: GlanceAppWidget, aby używać provideGlance jako głównego punktu wejścia. Interfejs GlanceAppWidget.Content został wycofany. (I202b5)
  • Dodaje opcję ustawienia odcienia obrazów (I26192, b/212418562).
  • Więcej zwracanych wartości null typu zwracanego w przypadku wycofanych ukrytych funkcji. (Ibf7b0)
  • Dodawanie adnotacji @JvmDefaultWithCompatibility (I8f206)
  • Usunięto nieużywane SingleEntityTemplateData.displayHeader. (I7f094)
  • Dodaliśmy obsługę użycia funkcji lambda jako wywołań zwrotnych (Ia0bbd).
  • Element DayNightColorProvider został przeniesiony do modułu podsumowania (I1842c, b/256934779)
  • Usuwa szablon LocalColorProvider z szablonów. Szablony będą teraz korzystać z metody GlanceTheme.colors (Ic15e2)
  • Usunięto wartość null z Text(style: TextStyle) (I7123b, b/237012816)
  • Domyślny kolor tekstu na czarny. Usuń wartość null (I3072c, b/237012816)
  • Tworzenie motywu dynamicznego ColorProviders jako własnego obiektu. Ustawianie interfejsu ResourceColorProvider wewnętrznego w module. (Id0e2d, b/237012816)
  • Dodaj niezdefiniowaną kategorię do zasobu ImageSize. (I2fa39)
  • Usuń wycofaną funkcję GlanceAppWidget.Content (Ib05f6)
  • Dodaje modyfikator jako parametr do funkcji AndroidRemoteViews. (I515d4)
  • Dodaj GlanceAppWidget.compose, aby ułatwić testowanie jednostkowe (Ie9b28)

Poprawki błędów

  • Dodano widżet demonstracyjny do czcionek tekstu Glance (I5c3d7).
  • Zmienia rozmiar elementu AndroidRemoteViews za pomocą modyfikatora.
  • Problemy z niespójnymi kolorami motywu zostały rozwiązane
  • Wszystkie zasoby mają teraz prefiksy pozwalające uniknąć kolizji

Wersja 1.0.0-alfa05

5 października 2022 r.

Opublikowano androidx.glance:glance:1.0.0-alpha05, androidx.glance:glance-appwidget:1.0.0-alpha05 i androidx.glance:glance-wear-tiles:1.0.0-alpha05. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaje uprawnienia requestPinGlanceAppWidget do GlanceAppWidgetManager, dzięki czemu aplikacje mogą prosić użytkownika o dodanie widżetu opartego na Wglądzie do ekranu głównego. (Ic6e47)
  • Dodaje uprawnienia ACTION_DEBUG_UPDATE do interfejsu GlanceAppWidgetReceiver, aby umożliwić deweloperom wymuszanie aktualizacji widżetu z Adb na urządzeniach z dostępem do roota i emulatorach. (I94ae1)

Zmiany w interfejsie API

  • Usuń przyciski działań w nagłówku z szablonów Glance, aby uprościć przypadek użycia. (Ie4387)
  • Zrefaktoryzowano szablon pojedynczej jednostki, aby ponownie wykorzystać projekt podsystemu bloków. (Iecd2c)
  • Zrefaktoryzowany szablon listy przeglądów do użyciaText/Image/ActionProjekt blokowy. (If0cc1)
  • Dodaj zakres liczb priorytetów dla TextBlock i ImageBlock. (I73100)

Poprawki błędów

  • Usunięto zależność od Material3. (I28d1c)
  • Przejście do bardziej spójnego systemu dodawania marginesów i odstępów w układach szablonów podsumowania. (I29773).
  • Poprawiono nieprawidłową regułę ProGuard, która uniemożliwiała tworzenie zminimalizowanych wersji.

Wersja 1.0.0-alfa04

10 sierpnia 2022 r.

Opublikowano androidx.glance:glance:1.0.0-alpha04, androidx.glance:glance-appwidget:1.0.0-alpha04 i androidx.glance:glance-wear-tiles:1.0.0-alpha04. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaje funkcje kolorowania przycisku.
  • Dodaje adnotację GlanceComposable, która ułatwia sprawdzanie czasu kompilacji.
  • Dodaje funkcje Glance specyficzne dla Wear.

Zmiany w interfejsie API

  • Zaktualizuj interfejs Glance Gallery Data API i widok skondensowany. (Ibc7a8)
  • Dodaje element ButtonColors służący do konfigurowania przycisków. (Iea88d, b/236305351)
  • Zmień nazwę ColorProvider.resolve na ColorProvider.getColor (Ic9dfe)
  • Dodaje metodę copy() do metody TextStyle. (I9aef6)
  • Dodaje zajęcia w usłudze ColorProviders, których można używać jako części motywów w Glance. (I848b9, b/237012816)
  • Dodano obsługę szablonów listy do stylów list i widoku zwiniętego. (I50cdc)
  • Dodaj semantyki do elementów GlanceModiier i GlanceCurvedModifier. (Ifda7e)
  • Dodaj adnotację GlanceComposable. (I5dbf0)
  • Przenosi szablony Glance do głównego projektu Glance. (I9db94)
  • Dodaj ColorProvider.resolve() (Ife532, b/214733442)
  • Nowa metoda pobierania funkcji GlanceId z istniejącego appWidgetId lub intencji z działania konfiguracji (Icb70c, b/230391946)
  • Dodaj adnotację GlanceComposable. (I2c21f)
  • Dodano GlanceRemoteViews do uruchamiania kompozycji poza GlanceAppWidget. (I18f92)
  • Usuń kolor z tej listy: ProgressIndicatorDefaults. (I40299)
  • Zmień nazwę metody onRun w ActionCallback na onAction, aby zapewnić spójność z publicznymi interfejsami API, zgodnie z opiniami dotyczącymi weryfikacji interfejsu API. (Icfa57)
  • Przekształcanie układów szablonów w skrócie, aby używać mapy (I46bfd)
  • Dodaj element kompozycyjny RadioButton (I4ecce)
  • Dodano: GlanceWearTiles do tworzenia kafelków na Wear (Ia9f65)
  • Dodano klikalny element do: GlanceCurvedModifier (Iec2a0)
  • Zaimplementuj CurvedRow jako zakres i utwórz DSL, by dodać zwykłe elementy kompozycyjne lub krzywe. Dodano również języki curvedLine i curvedSpacer, które zostały przetłumaczone na ArcLine i ArcSpacer w protokafelkach (Ib955b)
  • Zaktualizowana wartość null w Core i appcompat, aby dopasować ją do Tiramisu DP2 (I0cbb7).
  • Dodaj obsługę etykiety RuncallbackAction w kafelkach do noszenia na ekranie – na razie obsługiwane są tylko wartości RunCallbackAction z parametrem BEZ (Ide64a)

Wkład z zewnątrz

  • Zaktualizowano :compose:ui:ui-test api (updateApi) w związku z migracją test-coroutines-lib (I3366d)

Wersja 1.0.0-alfa03

23 lutego 2022 r.

Aplikacja androidx.glance:glance-*:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • Uproszczona definicja stanu domyślnie ustawiona na Preferencje.

Zmiany w interfejsie API

  • Uprość obsługę stanów, ustawiając PreferencesGlanceStateDefinition jako domyślną obsługę stanu. Usunięto język GlanceAppWidget.updateAppWidgetState i wprowadzono element updateAppWidgetState, który domyślnie używa Preferences. (I58963)
  • Dodawanie klasy TemplateText i aktualizowanie projektu szablonu (I4e146)
  • Dodaje infrastrukturę konturu do szablonu Freeform (If03d6)
  • Zmiany w układach elementu SingleEntityTemplate (If925d)
  • Dodano LazyVerticalGrid (I5f442)
  • Użyj aplikacji ColorProvider w systemie SingleEntityTemplate (I01ee0)
  • Zaktualizuj nazwę klasy szablonu (I3720e)
  • Dodano elementy kompozycyjne LinearProgressIndicator i CircularProgressIndicator. (Ie116b)

Poprawki błędów

  • Implementacja szablonów ze wstępnym przeglądem, określanie danych „szablonu pojedynczego produktu” i przykładowy układ szablonu (I35837)
  • Domyślnie wyśrodkuj cotent kafelka (I264be)
  • Naprawiono błąd fillMaxSize/width/Height w przypadku kafelków z funkcją „Spojrzenie” (I0a39f)

Wersja 1.0.0-alfa02

26 stycznia 2022 r.

Aplikacja androidx.glance:glance-*:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Nowe funkcje

Ta wersja zawiera zestaw interfejsów API do tworzenia kafelków na Wear za pomocą środowiska wykonawczego Compose z elementami kompozycyjnymi zoptymalizowanymi pod kątem „Glanceable”

  • Zadeklaruj swoją usługę Wear kafelków, rozszerzając GlanceTileService – usługę tworzącą kafelek w funkcji composable Content().
  • Kompozycje kompozycyjne powiązane z kartami na Wear: CurvedRow, CurvedText.
  • Aby obsługiwać różne tryby osi czasu dla kafelków, zdefiniuj TimelineMode.SingleEntry i TimelineMode.TimeBoundEntries.
  • LocalTimeInterval, kompozycja lokalna odnosi się do konkretnego przedziału czasu.
  • BorderModifer to typ GlanceModifier z obramowaniem wokół elementu.

W tej wersji do funkcji AppWidget Glance dodano też wskaźniki postępu.

Zmiany w interfejsie API

  • Dodano elementy kompozycyjne LinearProgressIndicator i CircularProgressIndicator. (Ie116b)
  • Zmień actionStartBroadcastReceiver na actionSendBroadcast (I7D555)
  • Przekazywanie kontekstu do wywołania zwrotnego onDelete do: GlanceAppWidget (I4c795)

Poprawki błędów

  • Prawidłowa obsługa atrybutu OPTIONS_APPWIDGET_SIZES, jeśli występuje, ale jest pusta. (I01f82)

Wersja 1.0.0-alfa01

15 grudnia 2021 roku

Opublikowano androidx.glance:glance:1.0.0-alpha01, androidx.glance:glance-appwidget:1.0.0-alpha01 i androidx.glance:glance-appwidget-proto:1.0.0-alpha01. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Funkcje w pierwszej wersji

  • Pierwsza wersja aplikacji Glance zawiera pierwszy zestaw interfejsów API do tworzenia AppWidget przy użyciu środowiska wykonawczego Compose oraz zestaw nowych elementów Composables zoptymalizowanych pod kątem aplikacji Glanceable.

Funkcje