Appcompat

Umożliwia dostęp do nowych interfejsów API w starszych wersjach interfejsu API platformy (wiele z nich korzysta ze stylu Material Design).
Najnowsza aktualizacja Wersja stabilna Kandydat do publikacji Wersja Beta Wersja alfa
29 maja 2024 r. 1.7.0 - - -

Deklarowanie zależności

Aby dodać zależność od Appcompat, 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 {
    def appcompat_version = "1.7.0"

    implementation "androidx.appcompat:appcompat:$appcompat_version"
    // For loading and tinting drawables on older versions of the platform
    implementation "androidx.appcompat:appcompat-resources:$appcompat_version"
}

Kotlin

dependencies {
    val appcompat_version = "1.7.0"

    implementation("androidx.appcompat:appcompat:$appcompat_version")
    // For loading and tinting drawables on older versions of the platform
    implementation("androidx.appcompat:appcompat-resources:$appcompat_version")
}

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.7

Wersja 1.7.0

29 maja 2024 r.

Opublikowano androidx.appcompat:appcompat:1.7.0 i androidx.appcompat:appcompat-resources:1.7.0. Wersja 1.7.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.6.0

  • AppCompatDialog teraz prawidłowo ustawia LifecycleOwner, SavedStateRegistryOwner i OnBackPressedDispatcherOwner w widoku dekoracji okna za pomocą interfejsów API ViewTree. Rozwiązaliśmy problemy podczas hostowania obiektu ComposeView w obrębie AppCompatDialog.
  • AppCompatActivity ustawia teraz ViewTreeOnBackPressedDispatcherOwner, aby można było pobrać dyspozytora z widoku.
  • Znacznie poprawiła wydajność aplikacji SupportMenuInflater.
  • Po uruchomieniu „na zimno” Locale.getDefault() zwraca teraz język systemowy.
  • LinearLayoutCompat zachowuje teraz parametry układu marginesów.

Aktualizacje zależności

  • AppCompat zależy teraz od aktywności 1.7.0.
  • AppCompat wymaga teraz fragmentu Fragment w wersji 1.5.4.

Wersja 1.7.0-rc01

14 maja 2024 r.

Opublikowano androidx.appcompat:appcompat:1.7.0-rc01 i androidx.appcompat:appcompat-resources:1.7.0-rc01. Wersja 1.7.0-rc01 zawiera te zatwierdzenia.

Wersja 1.7.0-beta01

1 maja 2024 r.

Opublikowano androidx.appcompat:appcompat:1.7.0-beta01 i androidx.appcompat:appcompat-resources:1.7.0-beta01. Wersja 1.7.0-beta01 zawiera te zatwierdzenia.

Wersja 1.7.0-alfa03

26 lipca 2023 r.

Opublikowano androidx.appcompat:appcompat:1.7.0-alpha03 i androidx.appcompat:appcompat-resources:1.7.0-alpha03. Wersja 1.7.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • Obsługa pobierania lokalizacji dla poszczególnych aplikacji w kontekstach niezwiązanych z aktywnością (I58e753). Dodaliśmy do tej funkcji 4 nowe interfejsy API:

    • LocaleManagerCompat.getApplicationLocales(): pozwala deweloperom usunąć lokalizacje spoza zakresu aktywności dla poszczególnych aplikacji.

    • ContextCompat.getString(): zwraca zlokalizowane ciągi znaków na podstawie ustawień regionalnych aplikacji.

    • ContextCompat.getContextForLanguage(): kontekst zwrócony przez tę metodę będzie uwzględniać ustawienia regionalne poszczególnych aplikacji.

    • ConfigurationCompat.setLocales(): w przypadku powyższych interfejsów API ustawienie języka konfiguracji.

Inne zmiany w interfejsie API

  • Dodano: setLineHeight(unit, lineHeight) do klas compat: TextView (Ia9fa9)
  • Dodano: setLineHeight(unit, lineHeight) do klas compat: TextView (Ib2ee1)
  • Dodano język setLineHeight(unit, lineHeight) do klas compat: TextView (I15716)

Poprawki błędów

  • AppCompatDialog teraz prawidłowo ustawia LifecycleOwner, SavedStateRegistryOwner i OnBackPressedDispatcherOwner w widoku dekoracji okna za pomocą interfejsów API ViewTree. Rozwiązaliśmy problemy podczas hostowania obiektu ComposeView w obrębie AppCompatDialog. AppCompat zależy teraz od aktywności 1.7.0. (Ib28ab, b/261314581)
  • Znacznie poprawia wydajność aplikacji SupportMenuInflater (I0b087)

Wersja 1.7.0-alfa02

8 lutego 2023 r.

Opublikowano androidx.appcompat:appcompat:1.7.0-alpha02 i androidx.appcompat:appcompat-resources:1.7.0-alpha02. Wersja 1.7.0-alpha02 zawiera te zatwierdzenia.

Poprawki błędów

  • Usunięto wyciek pamięci w AppCompatDelegate.getLocaleManagerForApplication() (44b57fd)
  • AppCompat wymaga teraz fragmentu Fragment w wersji 1.5.4 (I54dcd)

Wersja 1.7.0-alfa01

5 października 2022 r.

Opublikowano androidx.appcompat:appcompat:1.7.0-alpha01 i androidx.appcompat:appcompat-resources:1.7.0-alpha01. Wersja 1.7.0-alpha01 zawiera te zatwierdzenia.

Poprawki błędów

  • AppCompatActivity ustawia teraz ViewTreeOnBackPressedDispatcherOwner, aby można było pobrać dyspozytora z widoku. (I1a115, b/235416503)
  • Po uruchomieniu „na zimno” Locale.getDefault() zwraca teraz ustawienia regionalne systemu (I6a94b).
  • LinearLayoutCompat zachowuje teraz parametry układu marginesów (Id2af4)

Wersja 1.6.1

Wersja 1.6.1

8 lutego 2023 r.

Opublikowano androidx.appcompat:appcompat:1.6.1 i androidx.appcompat:appcompat-resources:1.6.1. Wersja 1.6.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Usunięto wyciek pamięci w AppCompatDelegate.getLocaleManagerForApplication() (44b57fd)

Wersja 1.6.0

Wersja 1.6.0

11 stycznia 2023 r.

Opublikowano androidx.appcompat:appcompat:1.6.0 i androidx.appcompat:appcompat-resources:1.6.0. Wersja 1.6.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.5.0

Wersja 1.6.0-rc01

7 września 2022 roku

Opublikowano androidx.appcompat:appcompat:1.6.0-rc01 i androidx.appcompat:appcompat-resources:1.6.0-rc01. Wersja 1.6.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • AppCompatActivity ustawia teraz ViewTreeOnBackPressedDispatcherOwner, aby można było pobrać dyspozytora z widoku. (I1a115, b/235416503)
  • Cofnięto poprawkę błędu, który zastąpił konfigurację przekazaną do interfejsu onConfigurationChanged, co powodowało problemy z testami polegającymi na wstrzyknięciu własnych konfiguracji niestandardowych za pomocą narzędzia onConfigurationChanged.

Wersja 1.6.0-beta01

10 sierpnia 2022 r.

Opublikowano androidx.appcompat:appcompat:1.6.0-beta01 i androidx.appcompat:appcompat-resources:1.6.0-beta01. Wersja 1.6.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Przenieś klasy compat: DrawableWrapper, DrawableContainer i StateListDrawable do publicznego interfejsu API. (I37f3e, b/227789566)
  • Wprowadza nową fabrykę generatora układu asynchronicznego. (Ia657b)

Poprawki błędów

  • Toolbar wywołuje teraz metodę onPrepareMenu() przed wyświetleniem menu, a nie bezwarunkowo podczas jego tworzenia. (I2a58d, b/232206677)
  • AppCompat teraz bezpośrednio korzysta z Lifecycle 2.5.1 i SavedState 1.2.0. (I7e3e2)
  • Dodaliśmy obsługę wywołań zwrotnych wywoływanych wstecz do AppCompatDelegate i implementacji paska narzędzi Toolbar dostarczonej przez AppCompat. (I24062)
  • Finalizowanie interfejsów API AppCompat dla wersji 1.5.0-beta01 (I2a43d, b/236866227)
  • Finalizowanie interfejsów API AppCompat dla wersji 1.5.0-beta01 (I2a43d, b/236866227)

Wersja 1.6.0-alfa05

15 czerwca 2022 r.

Opublikowano androidx.appcompat:appcompat:1.6.0-alpha05 i androidx.appcompat:appcompat-resources:1.6.0-alpha05. Wersja 1.6.0-alfa05 została opracowana w prywatnej gałęzi przedpremierowej i nie ma publicznych zatwierdzeń.

Zmiany w interfejsie API

  • Aktualizacje wartości null w celu dostosowania do ostatecznej platformy interfejsu API w pakiecie Tiramisu Beta 3 SDK
  • minCompileSdk ma teraz wartość 33, aby zapewnić zgodność z pakietem SDK Tiramisu w wersji beta 3

Wersja 1.6.0-alfa04

18 maja 2022 r.

Opublikowano androidx.appcompat:appcompat:1.6.0-alpha04 i androidx.appcompat:appcompat-resources:1.6.0-alpha04. Ta biblioteka została stworzona na podstawie prywatnej gałęzi przedpremierowej, dlatego nie jest dostępny żaden dziennik zatwierdzenia.

Zmiany w interfejsie API

  • Dodaj interfejs API w celu zastąpienia ograniczenia szerokości SwitchCompat na potrzeby MDC-Android

Poprawki błędów

  • Unikaj konfiguracji zarządzanej w przypadku zmian konfiguracji poza JoinBaseConfig

Wersja 1.6.0-alfa03

27 kwietnia 2022 r.

Opublikowano androidx.appcompat:appcompat:1.6.0-alpha03 i androidx.appcompat:appcompat-resources:1.6.0-alpha03.

Ta wersja wymaga Androida 13 w wersji beta 1 do skompilowania. Nie możemy zagwarantować, że będzie zgodna z czasem działania w przyszłych wersjach przedpremierowych dla programistów.

Nowe funkcje

  • Obsługa wyboru niestandardowego języka dla całej aplikacji w usłudze AppCompatDelegate.setApplicationLocales(). Przedstawiciele ds. implementacji platformy w interfejsie API 33 i nowszych.

Wersja 1.6.0-alfa01

23 lutego 2022 r.

Opublikowano androidx.appcompat:appcompat:1.6.0-alpha01 i androidx.appcompat:appcompat-resources:1.6.0-alpha01. Wersja 1.6.0-alfa01 została skompilowana z gałęzi wewnętrznej i nie ma zatwierdzeń widocznych publicznie.

Ta wersja wymaga Androida Tiramisu DP1 do skompilowania. Nie ma gwarancji, że będzie ona zgodna ze środowiskiem wykonawczym w przyszłości.

Nowe funkcje

  • Dodaliśmy obsługę dostosowywania ustawień regionalnych aplikacji. Aby dowiedzieć się więcej, przeczytaj AppCompatDelegate.setApplicationLocales(LocaleListCompat). Zapewnia zgodność wsteczną z nowym interfejsem API ustawień według języka dostępnym w Androidzie 13.

Wersja 1.5.1

Wersja 1.5.1

7 września 2022 roku

Opublikowano androidx.appcompat:appcompat:1.5.1 i androidx.appcompat:appcompat-resources:1.5.1. Wersja 1.5.1 zawiera te zatwierdzenia.

Aktualizacje zależności

Wersja 1.5.0

Wersja 1.5.0

10 sierpnia 2022 r.

Opublikowano androidx.appcompat:appcompat:1.5.0 i androidx.appcompat:appcompat-resources:1.5.0. Wersja 1.5.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.4.0

  • Ta stabilna wersja obejmuje ulepszenia stabilności w trybie nocnym, poprawki błędów i obsługę rysowalnego koloru widżetów obsługiwanych przez AppCompat oraz ulepszenia w zakresie obsługi interfejsu API. Szczegółową listę zmian znajdziesz w informacjach o poprzednich wersjach serii 1.5.0.

Wersja 1.5.0-rc01

27 lipca 2022 roku

Opublikowano androidx.appcompat:appcompat:1.5.0-rc01 i androidx.appcompat:appcompat-resources:1.5.0-rc01. Wersja 1.5.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że kod kontekstowy AppCompat ponownie wykorzystywał implementację zasobów bazowych dotyczących kontekstu aplikacji, co spowodowało zastępowanie parametru uiMode w kontekście aplikacji. (Idf9d5).

Wersja 1.5.0-beta01

13 lipca 2022 r.

Opublikowano androidx.appcompat:appcompat:1.5.0-beta01 i androidx.appcompat:appcompat-resources:1.5.0-beta01. Wersja 1.5.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaj flagę zastępowania, aby wyłączyć domyślne dostosowywanie szerokości przełącznika. (I37cb7)
  • Dodawanie adnotacji @FloatRange do interfejsu API do pobierania pozycji kciuka (If524c)
  • Dodaj brakujące adnotacje wartości null do projektu AnimatedStateListDrawableCompat (Ieb4ec)

Poprawki błędów

  • Finalizowanie interfejsów API AppCompat dla wersji 1.5.0-beta01 (I2a43d, b/236866227)
  • Zmiana wartości parametru className dla pola ActionMenuItemView w celu traktowania go jako Button (I5ee1c)

Wersja 1.5.0-alfa01

6 kwietnia 2022 roku

Opublikowano androidx.appcompat:appcompat:1.5.0-alpha01 i androidx.appcompat:appcompat-resources:1.5.0-alpha01. Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano nowy interfejs API umożliwiający udostępnianie pozycji kciuka przełącznika podklasami (I9bfb4).
  • Zaktualizowano wartość null, aby dopasować ją do Tiramisu DP2 (I0cbb7)
  • Backportowane złożone zabarwienie rysowalne do widżetów pochodzących z TextView (Idf98c, b/165822337)
  • Rozszerzenie AppCompatDialog zawiera teraz rozszerzenie ComponentDialog, by zapewnić zgodność z OnBackPressedDispatcher (Id9b91, b/217620781).
  • Domena SearchView.onQueryRefine() jest teraz chroniona, aby umożliwić zastąpienia (I6cce0, b/212882845)

Poprawki błędów

  • AppCompat Toolbar wywołuje teraz interfejs API onPrepareMenu() używany przez MenuHostHelper. (I9b9b5, b/227376894)
  • Po ustawieniu w kodzie XML AppCompatEditText, AppCompatAutoCompleteEditText i AppCompatMultiAutoCompleteEditText nie będą już resetować elementów klikalnych ani LongClickable w konstruktorze (Ic5066, b/221094907)
  • AppCompatEditText, AppCompatAutoCompleteTextView i AppCompatMultiAutoCompleteTextView nie będą wywoływać zastąpionego parametru setKeyListener podczas konstruktora (I5c13a, b/208480173)
  • Appcompat nie pakuje instancji NumberKeyListener przekazanych do setKeyListener, umożliwiając TextView prawidłowe skonfigurowanie języka w NumberKeyListeners (Ibf113, b/207119921)
  • Rozwiązanie problemu ze wszystkimi podklasami NumberKeyListener wprowadzonymi w AppCompat 1.4.0, które zezwalały na wprowadzanie nieoczekiwanych znaków, takich jak znaki interpunkcyjne (Iede7a, b/207119921).

Wersja 1.4.2

Wersja 1.4.2

1 czerwca 2022 r.

Opublikowano androidx.appcompat:appcompat:1.4.2 i androidx.appcompat:appcompat-resources:1.4.2. Wersja 1.4.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawianie awarii, w wyniku której usługa AppCompatDelegateImpl wykonała wewnętrzne połączenie z numerem ensureSubDecor przed utworzeniem paska działań (aosp/2048349, b/226648941)

Wersja 1.4.1

12 stycznia 2022 r.

Opublikowano androidx.appcompat:appcompat:1.4.1 i androidx.appcompat:appcompat-resources:1.4.1. Wersja 1.4.1 zawiera te zatwierdzenia.

Poprawki błędów

  • AppCompatEditText, AppCompatAutoCompleteTextView i AppCompatMultiAutoCompleteTextView nie wywoła zastąpienia setKeyListener podczas konstruktora. (I5c13a, b/208480173)
  • Emoji2 nie pakuje instancji NumberKeyListener, co umożliwia skonfigurowanie języka w widoku tekstu.
    • Appcompat nie pakuje instancji NumberKeyListener przekazanych do setKeyListener, co umożliwia usłudze TextView prawidłową konfigurację języka w NumberKeyListeners. (Ibf113, b/207119921)
  • Naprawiono problem ze wszystkimi podklasami NumberKeyListener wprowadzonymi w wersji appcompat 1.4.0, które zezwalały na wprowadzanie nieoczekiwanych znaków, takich jak interpunkcja (b/207119921) (Iede7a, b/207119921).

Wersja 1.4.0

Wersja 1.4.0

17 listopada 2021 r.

Opublikowano androidx.appcompat:appcompat:1.4.0 i androidx.appcompat:appcompat-resources:1.4.0. Wersja 1.4.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.3.0

  • Biblioteka jest teraz kierowana na język Java 8
  • Obsługa emotikonów z możliwością aktualizacji jest domyślnie włączona w bibliotece androidx.emoji2
  • Ulepszona kontrola atrybutów w inspektorze układu w Android Studio (I02d55).
  • Dodaliśmy obsługę zagnieżdżonych zasobów o zabarwieniu i obiektów rysowalnych wektorowych w backendach AppCompat wczytywania zasobów. Pamiętaj jednak, że oznacza to, że aplikacje nie mogą zastąpić metody getDrawable() w niestandardowym obiekcie Zasoby, gdy włączone są backendy. (Ia6b03, b/176129022)
  • Backportowane tło z możliwością zabarwienia i znacznik wyboru w przypadku CheckedTextView (I8575c)

Wersja 1.4.0-rc01

27 października 2021 roku

Opublikowano androidx.appcompat:appcompat:1.4.0-rc01 i androidx.appcompat:appcompat-resources:1.4.0-rc01. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.

Wersja 1.4.0-beta01

29 września 2021 r.

Opublikowano androidx.appcompat:appcompat:1.4.0-beta01 i androidx.appcompat:appcompat-resources:1.4.0-beta01. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • AndroidX AppCompat Toolbar to teraz MenuHost i może zarządzać MenuProvider. (I5cd95)

Poprawki błędów

  • Poprawiono obsługę pasków postępu listy warstw w AppCompatProgressBar (I6ece3, b/142004509).
  • Prawidłowo zachowaj android:digits w usłudze AppCompatEditText. Poprawki błędu 193047889 wprowadzonego w AppCompat w wersji 1.4.0-alfa03. (I4b4fc, b/193047889)
  • Zintegrowany pakiet OnReceivedContentListener SDK i interfejsy API biblioteki lib. (Ic6914, b/173814913)

Wersja 1.4.0-alfa03

30 czerwca 2021 r.

Opublikowano androidx.appcompat:appcompat:1.4.0-alpha03 i androidx.appcompat:appcompat-resources:1.4.0-alpha03. Wersja 1.4.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • Biblioteka jest teraz kierowana na język Java 8
  • Dodano obsługę emotikonów2 do większej liczby podklas TextView (AppCompatMultiAutoCompleteTextView, AppCompatAutoCompleteTextView, AppCompatRadioButton, AppCompatCheckBox).

Zmiany w interfejsie API

  • Dodaliśmy interfejs API, który umożliwia skonfigurowanie połączenia wejściowego w celu korzystania z metody View.performOdbieranieContent do obsługi wywołań IME do metodyinputConnection.commitContent. (I3a2ad)
  • Dodano obsługę emotikonu w usłudze AppCompatMultiAutoCompleteTextView (Ifece0)
  • Dodano obsługę EmojiCompat w AppCompatAutoCompleteTextView (Ia1f4b)
  • Dodano obsługę emotikonu w usłudze AppCompatRadioButton (If08af)
  • Dodano obsługę emotikonu w usłudze AppCompatCheckBox (I2b3bc).
  • Zezwalaj na wartość null KeyListener w AppCompatEditText. Spowoduje to cofnięcie niezerowej adnotacji, która została dodana do AppCompatEditText w wersji 1.4-alpha01, i przywrócenie poprzedniego działania po przekazaniu wartości null. (I21482, b/189559345)
  • Dodaj PopupMenu.setForceShowIcon, aby zachować zgodność z interfejsami API platformy (I43bb3, b/182789798)

Poprawki błędów

  • Napraw błąd w AppCompatEditText, który resetuje parametr inputType określony w pliku XML w celu usunięcia odmian. Ten błąd został wprowadzony w AppCompat w wersji 1.4.0-alpha01. (I9df36, b/191061070)

Wersja 1.4.0-alfa02

2 czerwca 2021 r.

Opublikowano androidx.appcompat:appcompat:1.4.0-alpha02 i androidx.appcompat:appcompat-resources:1.4.0-alpha02. Wersja 1.4.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano konstruktor AppCompatDialogFragment przyjmujący identyfikator układu (Icbf22, b/188119987).
  • Ulepszona obsługa Inspektora układu (I02d55)
  • Zmieniono nazwę pakietu w emoji2-views-helper na androidx.emoji2.viewsintegration. Jest to niezbędna zmiana w metodzie AppCompat 1.4.0-alpha01, a zależność aplikacji musi być zaktualizowana do nowej wersji emotikon2. (Ie8397)

Poprawki błędów

  • Rozwiązaliśmy problem polegający na tym, że zatrzymane działania nie otrzymywały zmian konfiguracji w wyniku zmian trybu nocnego instrumentowanego przez AppCompat. (I8fa8f, b/188681415)
  • Naprawiony błąd w AppCompatEditText, który powodował, że widoki nie można przenieść, nawet jeśli określono android:focusable="false" w pliku XML (błąd wprowadzony w AppCompat 1.4.0-alpha01) (Ib9412)

Wersja 1.4.0-alfa01

18 maja 2021 r.

Opublikowano androidx.appcompat:appcompat:1.4.0-alpha01 i androidx.appcompat:appcompat-resources:1.4.0-alpha01. Wersja 1.4.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zintegrowana obsługa emotikonu z różnymi widżetami AppCompat (Id409b, If7a1a, Ic262d, Ib5f4a, I4fb3c).
  • Dodaliśmy obsługę zagnieżdżonych zasobów o zabarwieniu i obiektów rysowalnych wektorowych w backendach AppCompat wczytywania zasobów. Pamiętaj jednak, że oznacza to, że aplikacje nie mogą zastąpić atrybutu getDrawable() w niestandardowym obiekcie Zasoby, gdy włączone są backendy. (Ia6b03, b/176129022)
  • Ulepszona obsługa inspektora układu (I6d771)

Poprawki błędów

  • Naprawiono scenariusz, w którym wywołanie funkcji setSupportActionBar po ustawieniu wywołania zwrotnego okna powodowało zastąpienie wywołania zwrotnego. (Ie43ee, b/186791590)
  • Dodaliśmy obejście problemu występującego w pakietach SDK 29 i 30, które powodowały, że zasoby ColorStateListDrawable sklonowane z pamięci podręcznej, które można usunąć, nie wczytują koloru domyślnego, dopóki nie zostaną objęte zmianą stanu. (Iedb4b)
  • Unikaj NPE w przypadku obsługi pustych wywołań zwrotnych w trybie wyboru niestandardowego w widokach opartych na AppCompat. (I033c7, b/173435375)

Aktualizacje zależności

Wkład z zewnątrz

  • Kolor tła z możliwością wyboru tła i znacznika wyboru dla modelu CheckedTextView (I8575c)

Wersja 1.3.1

Wersja 1.3.1

21 lipca 2021 r.

Opublikowano androidx.appcompat:appcompat:1.3.1 i androidx.appcompat:appcompat-resources:1.3.1. Wersja 1.3.1 zawiera te zatwierdzenia.

Aktualizacje zależności

Wersja 1.3.0

Wersja 1.3.0

18 maja 2021 r.

Opublikowano androidx.appcompat:appcompat:1.3.0 i androidx.appcompat:appcompat-resources:1.3.0. Wersja 1.3.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.2.0

  • Poprawiono propagację atrybutów android:theme w układach <include> d na urządzeniach starszych niż Lollipop
  • Zmniejszono rozmiar biblioteki dzięki konwersji wielu zasobów PNG na format VectorDrawables
  • Dodano obsługę zdarzeń typu „przeciągnij i upuść” w elemencie AppCompatEditText za pomocą metody OnReceiveContentListener
  • Zaktualizowano w celu obsługi zmian w obsłudze wstawki okna w Androidzie 11
  • Dodano obsługę RTL w elementach menu z ikonami
  • Dodano obsługę wstawiania treści sformatowanych (np. wklejania obrazu) w AppCompatEditText

  • Zaktualizowane zależności: aplikacja appcompat zaktualizowała wiele zależności przechodnich, aby zapewnić obsługę nowych funkcji i poprawek:

Wersja 1.3.0-rc01

24 marca 2021 r.

Opublikowano androidx.appcompat:appcompat:1.3.0-rc01 i androidx.appcompat:appcompat-resources:1.3.0-rc01. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Zapobiega przedwczesnemu unieważnieniu uprawnień podczas wstawiania treści IME

Aktualizacje zależności

Wkład z zewnątrz

  • Poprawiono propagację atrybutu android:theme w układach <include> d na urządzeniach starszych niż Lollipop (Simon Bergner, Opera)

Wersja 1.3.0-beta01

13 stycznia 2021 r.

Opublikowano androidx.appcompat:appcompat:1.3.0-beta01 i androidx.appcompat:appcompat-resources:1.3.0-beta01. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Nowe funkcje

  • Elementy rysowane w trybie działań na poziomie motywu zostały zastąpione źródłami wektorowymi. Może to spowodować niewielkie zmiany w wyglądzie poszczególnych ikon. (I741a6)

Zmiany w interfejsie API

  • Zintegrowane metody „przeciągnij i upuść” w komponencie AppCompatEditText z funkcją OnReceivedContentListener. (Ib26c9, b/175343405)
  • Zaktualizowano interfejs OnReceiveContentListener i powiązane interfejsy API. Aby dowiedzieć się więcej, zobacz zmiany w bibliotece na androidx.core. (Ib4616, b/173814913)
  • Widżet widget.RichContentLocationrCompat został przeniesiony do widoku.OnReceivedContentListener. (Ifdab7, b/173814913)
  • Interfejsy API do dostarczania i pobierania początkowego otaczającego tekstu zostały przeniesione do EditorInfoCompat. Pozwalają aplikacjom IME uniknąć dodatkowego opóźnienia IPC. (Ie3809)

Wersja 1.3.0-alfa02

19 sierpnia 2020 r.

Opublikowano androidx.appcompat:appcompat:1.3.0-alpha02 i androidx.appcompat:appcompat-resources:1.3.0-alpha02. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.

Poprawki błędów

  • Elementy rysowane w formacie PNG AppCompatRatingBar zostały zastąpione źródłami wektorowymi. Może to spowodować niewielkie zmiany w wyglądzie poszczególnych gwiazd. (I6b99d)
  • Zaktualizuj WindowInsetsCompat do interfejsów API Androida 11 (I3df9e)
  • Obsługuj kierunek od prawej do lewej w elementach menu z ikonami (I2f5c5).

Aktualizacje zależności

  • Zależność aplikacji AppCompat została zaktualizowana z fragmentu 1.1.0 na Fragment 1.3.0-alpha08. Jeśli chcesz poznać najważniejsze zmiany wprowadzone w poprzedniej wersji Fragmentu, zdecydowanie zalecamy zapoznanie się z informacjami o wersji 1.2.0.
  • Zależność AppCompat została zaktualizowana z aktywności 1.0.0 na Aktywność 1.2.0-alpha08. Zdecydowanie zalecamy zapoznanie się z informacjami o wersji 1.1.0, aby zrozumieć najważniejsze zmiany wprowadzone w poprzedniej wersji funkcji.
    • AppCompatActivity używa teraz interfejsu API OnContextAvailableListener wprowadzonego w aktywności 1.2.0-alpha08 do konfigurowania AppCompatDelegate. Wszystkie detektory dodane do podklas modelu AppCompatActivity będą uruchamiane po tym detektorze. (I513da)

Wersja 1.3.0-alfa01

20 maja 2020 r.

Opublikowano androidx.appcompat:appcompat:1.3.0-alpha01 i androidx.appcompat:appcompat-resources:1.3.0-alpha01. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj nową regułę Lint, aby oznaczać wywołania setActionBar w przypadku aktywności, które rozszerzają AppCompatActivity
  • Dodano obsługę ViewTreeLifecycleOwner z Cykl życia 2.3.0-alpha01, ViewTreeViewModelStoreOwner z Cykl życia 2.3.0-alpha03 oraz ViewTreeSavedStateRegistryOwner z SavedState 1.1.0-alpha01 przy zastosowaniu elementu View w grupie AppCompatActivity. (b/151603528, aosp/1300264)
  • Dodaj wspólny interfejs API do wstawiania treści rozszerzonych (np. wklejania obrazu). Nowe wywołanie zwrotne udostępnia pojedynczy interfejs API, który aplikacje mogą wdrożyć, aby obsługiwać różne sposoby wstawiania treści multimedialnych. Na razie interfejs API został dodany tylko do interfejsu AppCompatEditText i będzie wywoływany w przypadku tych ścieżek kodu:
    • wklej ze schowka
    • wstawianie treści z IME (InputConnection.commitContent) (I22bf7)

Poprawki błędów

  • Z AppCompat 1.2.0-rc01: AppCompat nie wywołuje już onMenuOpened() z menu null. (b/142843126)
  • Poprawnie poprawiaj kolory linków tekstowych i podpowiedzi na starszych urządzeniach, gdy funkcja TextViewCompat.setTextCharacter jest wywoływana ze stylem wyglądu tekstu, który zawiera listy stanów kolorów, które odwołują się do atrybutów kolorów motywu (b/154702995).

Wersja 1.2.0

Wersja 1.2.0

5 sierpnia 2020 r.

Opublikowano androidx.appcompat:appcompat:1.2.0 i androidx.appcompat:appcompat-resources:1.2.0. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

  • Naprawiono obsługę przypadków użycia zastępowania konfiguracji, w tym niestandardowych ustawień regionalnych i skal czcionek. Przykład prawidłowej implementacji zastąpień za pomocą polecenia appcompat:1.2.0 znajdziesz tutaj.
  • Wycofano: AppCompatDelegate.attachBaseContext(). Jeśli wywołujesz lub zastępujesz tę metodę, użyj metody AppCompatDelegate.attachBaseContext2().
  • Wycofano: CollapsibleActionView. Ten interfejs nie jest już potrzebny. Korzystaj z udostępnianego na platformie interfejsu android.view.CollapsibleActionView.

Wersja 1.2.0-rc02

22 lipca 2020 r.

Opublikowano androidx.appcompat:appcompat:1.2.0-rc02 i androidx.appcompat:appcompat-resources:1.2.0-rc02. Wersja 1.2.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązaliśmy problem związany z trybem nocnym, który powodował, że wywołanie funkcji AppCompatDelegate.setDefaultNightMode z poziomu okna czasami nie mogło odtworzyć aktywności i zastosować nowego trybu. (Aosp/1348308, b/158923881)

Wersja 1.2.0-rc01

14 maja 2020 r.

Opublikowano androidx.appcompat:appcompat:1.2.0-rc01 i androidx.appcompat:appcompat-resources:1.2.0-rc01. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Aplikacja AppCompatDelegate.setLocalNightMode została oznaczona jako wymagająca pakietu SDK w wersji 17 lub nowszej z powodu problemu z platformą, w którym zmiany konfiguracji wyciekły między aktywnościami we wcześniejszych pakietach SDK

Poprawki błędów

  • AppCompatDelegate.setLocalNightMode można teraz wywołać przed Activity.attachBaseContext
  • Usunięto wykorzystanie wbudowanych elementów ActionBarOverlayLayout przez nieprawidłowe korzystanie z wbudowanych elementów z pamięci podręcznej.
  • AppCompat nie wywołuje już połączenia z usługą onMenuOpened() za pomocą menu null. (b/142843126)

Wersja 1.2.0-beta01

1 kwietnia 2020 r.

Opublikowano androidx.appcompat:appcompat:1.2.0-beta01 i androidx.appcompat:appcompat-resources:1.2.0-beta01. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy te nowe reguły lintowania, które oznaczają nieprawidłowe przypadki użycia AppCompat w tych sytuacjach:
    • Wczytuję listy stanów kolorów: sugeruje użycie interfejsów API ContextCompat i AppCompatResources w celu zapewnienia zgodności wstecznej
    • Wczytuję elementy rysowalne: do zapewnienia zgodności wstecznej sugeruje użycie interfejsów API ContextCompat i ResourcesCompat
    • Używanie list stanów kolorów z atrybutem alfa: w flagach brakuje atrybutu android:alpha, co spowoduje nieprawidłowy wygląd na niektórych wersjach platformy
    • Przyciemnianie obrazów: flagi niekorzystające z elementu app:tint, które mogą powodować nieprawidłowe wyświetlanie obrazów na starszych wersjach platformy
    • Korzystanie ze złożonych elementów rysowanych i zabarwiania w widokach tekstowych: zalecamy użycie atrybutów compat i interfejsów API w celu zapewnienia zgodności wstecznej

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że element ActionBarOverlayLayout (działanie dekoracji okna) nie wysyłał poprawnie elementów WindowInsets.
  • Rozwiązaliśmy problemy z kolorowaniem elementów rysowanych i wyglądem tekstu w starszych wersjach platformy.
  • Naprawiono błąd, który powodował awarię komponentu androidx.appcompat:appcompat:1.1.0 po przytrzymaniu komponentu WebView (b/141351441)
  • Wprowadziliśmy poprawki problemów z manipulacją kontekstem podstawowym i pobieraniem usług systemowych podczas uruchamiania aktywności.

Wersja 1.2.0-alfa03

4 marca 2020 r.

Opublikowano androidx.appcompat:appcompat:1.2.0-alpha03 i androidx.appcompat:appcompat-resources:1.2.0-alpha03. Wersja 1.2.0-alpha03 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono błąd polegający na tym, że ikona stanu trybu działania omyłkowo wchodziła na pasek nawigacyjny i miała niewłaściwy kolor (Ia4a09).
  • Rozwiązanie problemu, który powodował, że zatrzymane działania nie wznawiały się na poziomie API 23 i niższym (I45201)

Wersja 1.2.0-alfa02

29 stycznia 2020 r.

Opublikowano androidx.appcompat:appcompat:1.2.0-alpha02 i androidx.appcompat:appcompat-resources:1.2.0-alpha02. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązano problem z awarią komponentu appcompat w wersji 1.1.0 po długim naciśnięciu (b/141351441)
  • Naprawiono rysowalne zabarwienie w TextView w odniesieniu do elementów rysowanych na poziomie interfejsu API 23 (aosp/1172194)
  • Zapewnienie, że kontekst podstawowy jest zawsze otoką (aosp/1194355)
  • Dodaliśmy kilka ulepszeń, które ułatwiają modyfikowanie podstawowej konfiguracji kontekstu (aosp/1204543).
  • Wyłączono createConfigurationContext() dla Robolectric (aosp/1186218)

Wersja 1.2.0-alfa01

4 grudnia 2019

Opublikowano androidx.appcompat:appcompat:1.2.0-alpha01 i androidx.appcompat:appcompat-resources:1.2.0-alpha01. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.

Poprawki błędów

  • Wywołania PackageManager.getActivityInfo nie ulegają już awarii w trybie ścisłym z włączonym sprawdzaniem pod kątem rozruchu
  • Poprawki zabarwienia elementów możliwych do rysowania w AppCompatButton
  • Poprawki zabarwienia i wyglądu tekstu w starszych wersjach platformy

Wersja 1.1.0

Wersja 1.1.0

5 września 2019 r.

Opublikowano androidx.appcompat:appcompat:1.1.0 i androidx.appcompat:appcompat-resources:1.1.0. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Ważne zmiany od wersji 1.0.0

  • Ulepszenia trybu ciemnego: wycofaliśmy funkcję MODE_NIGHT_AUTO i przełączyliśmy tryb ciemny i jasny na podstawie bieżącej godziny. Zastanów się nad użyciem jednoznacznego ustawienia lub MODE_NIGHT_AUTO_BATTERY.
  • Działanie 1.0: AppCompatActivity rozszerza się teraz przechodnie z okresu ComponentActivity od aktywności 1.0.0 przez fragment 1.1.0. Informacje o zmianach w poszczególnych bibliotece znajdziesz w powiązanych informacjach o wersji.
  • Konstruktor Układu AppCompatActivity: podklasy AppCompatActivity mogą teraz opcjonalnie wywoływać konstruktor w AppCompatActivity, który przyjmuje identyfikator R.layout, wskazując układ, który należy ustawić jako widok treści jako alternatywę dla wywoływania setContentView() w onCreate(). Nie zmienia to wymogu, że podklasa ma konstruktor bez argumentów.

Wersja 1.1.0-rc01

2 lipca 2019 r.

Opublikowano androidx.appcompat:appcompat:1.1.0-rc01 i androidx.appcompat:appcompat-resources:1.1.0-rc01. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Poprawki błędów

  • Aplikacja DayNight rozpoznaje teraz prawidłową właściwość configChanges (aosp/981105)
  • Zadzwoń do użytkownika onConfigurationChanged tylko w przypadku rozpoczętej aktywności (aosp/987483)

Wersja 1.1.0-beta01

5 czerwca 2019 r.

Opublikowano androidx.appcompat:appcompat:1.1.0-beta01 i androidx.appcompat:appcompat-resources:1.1.0-beta01. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Poprawki błędów

  • Upewnij się, że odbiorniki w AppCompatDialogs (aosp/959376) zostały wyczyszczone.
  • Dodaj obsługę buttonGravity=center_vertical na pasku narzędzi Toolbar (b/130361721)
  • Napraw przesunięcie kursora w poziomie (b/79477181)

Wersja 1.1.0-alfa05

7 maja 2019 r.

Opublikowano androidx.appcompat:appcompat:1.1.0-alpha05 i androidx.appcompat:appcompat-resources:1.1.0-alpha05. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

Poprawki błędów

  • Naprawiono tryb dzienny
  • Unieważnij kontur na dowolnej zmianie tła w pasku ActionBar
  • Napraw przewijanie widżetu w postaci obrotowego paska
  • Naprawianie zastępowania tła zestawu niestandardowego w oknie AlertDialog

Wersja 1.1.0-alfa04

3 kwietnia 2019 r.

Opublikowano androidx.appcompat:appcompat:1.1.0-alpha04 i androidx.appcompat:appcompat-resources:1.1.0-alpha04. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Dodano nową rodzinę motywów ThemeOverlay.AppCompat.DayNight. Należy ich używać, gdy korzystasz z funkcji DayNight.

Zmiany w interfejsie API

  • AppCompatActivity zawiera teraz drugi konstruktor, który przyjmuje @LayoutRes int. Zastąpi to poprzednie działanie adnotacji klasy AppCompatActivity z użyciem @ContentView. Ta metoda działa zarówno w modułach aplikacji, jak i bibliotece. (b/128352521)

Poprawki błędów

  • W miarę możliwości przypięto zależności wewnętrzne do wersji stabilnych
  • Naprawiono AppCompatSpinnerprzewijanie w trybie menu )b/124274573)
  • Wywołuje applyOverrideConfiguration() tylko wtedy, gdy jest to wymagane w przypadku DayNight

Wersja 1.1.0-alfa03

13 marca 2019 r.

Zwolniono androidx.appcompat:appcompat:1.1.0-alpha03 i androidx.appcompat:appcompat-resources:1.1.0-alpha03. To jest pierwsza wersja gry appcompat-resources. Pełną listę zatwierdzeń zawartych w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Nowa biblioteka appcompat-resources zawiera interfejsy API, które pozwalają aplikacjom wczytywać i zabarwiać elementy rysowalne (w tym elementy rysowalne wektorowe) w starszych wersjach platformy. To ta sama funkcja, która była dostępna w module appcompat, a teraz jest dostępna bez obsługi pełnej aplikacji kompatybilnej z Material Design, która obejmuje widżety, okna, tryb nocny itp.
  • Większe poprawki obsługi trybu DayNight
  • Nowa opcja MODE_NIGHT_AUTO_BATTERY w trybie dziennym
  • Kolory rysowalne w: AppCompatTextView
  • Styl rozszerzenia paska narzędzi można teraz dostosować za pomocą tematycznych list stanów kolorów.
  • Ikony menu mogą teraz używać kolorów, które odwołują się do atrybutów motywu
  • Nowy atrybut app:menu można ustawić na pasku narzędzi, aby wyświetlać zawartość menu w czasie zawyżania

Poprawki błędów

  • Poprawiono domyślny tryb odcienia w ImageView w wersji 21
  • Naprawiono nieprawidłowe odrzucanie wyskakującego okienka prezentującego przy obracaniu urządzenia
  • Poprawiono respektowanie funkcji DayNight w pliku manifestu (configChanges)
  • Naprawiono problem z przełączaniem się na MODE_NIGHT_FOLLOW_SYSTEM (b/111345020)
  • Naprawiony komponent WebView resetuje zasoby DayNight (b/37124582)

Wersja 1.1.0-alfa02

7 lutego 2019 r.

Aplikacja androidx.appcompat:appcompat 1.1.0-alpha02 została zwolniona.

Nowe funkcje

  • Wyodrębniono obsługę rysowalną specyficzną dla zasobu do zaczepa (aosp/870976)
  • Zezwolono pasek narzędzi titleTextColor i subtitleTextColor na używanie ColorStateList i dodano przeciążenia metod setTitleTextColor i setSubtitleTextColor (aosp/867489)ColorStateList

Poprawki błędów

  • Poprawiono działanie fontFamily w interfejsie API w wersji starszej niż 24 (aosp/807054)
  • Naprawiono błąd, który powodował, że funkcja textFontWeight nie działała, gdy aktywność trwa od AppCompatActivity (aosp/847640)
  • Naprawiono błąd, który powodował, że tekst tytułu w wyskakującym okienku widżetu (w trybie okna) nie korzystał z czcionki określonej w zasadzie fontFamily (aosp/789994).
  • Jak naprawić błąd, który uniemożliwiał widżetom AppCompatCheckBox i AppCompatRadioButton zmianę odcienia tła (aosp/825160)
  • Naprawiono błąd, który powodował, że usługa AppCompat nie zastąpiła atrybutu android: list styles (aosp/862350)

Wersja 1.1.0-alfa01

3 grudnia 2018 r.

Nowe funkcje

  • AppCompatTextView obsługuje teraz złożone obiekty rysowalne typu app:drawableLeftCompat, app:drawableTopCompat, app:drawableRightCompat, app:drawableBottomCompat, app:drawableStartCompat i app:drawableEndCompat, a także wstecznie przeniesione typy rysowalne, takie jak VectorDrawableCompat.

  • Domyślne elementy rysowane w aplikacjach AppCompatCheckBox i AppCompatRadioButton animują zmiany stanu kontroli.

Zmiany w interfejsie API

  • aosp/740385: ActionBarOverlayUkład korzysta teraz z zagnieżdżonego przewijania Nested ScrollingParent2 i Nested ScrollingParent3, umożliwiając korzystanie z najnowszych funkcji w ramach zagnieżdżonego przewijania 3. Jeśli kod dewelopera obecnie zastępuje ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int), prawdopodobnie nie będzie on już wywoływany i zamiast niego należy zastąpić parametr ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int, int, int[]).

Wersja 1.0.2

Wersja 1.0.2

7 listopada 2018 r.

Poprawki błędów w wersjach core-1.0.1 i appcompat-1.0.2.

Poprawki błędów

  • Naprawiono błąd, który powodował awarię PrecomputedTextCompat przy użyciu RTL AppCompatTextView. b/113070424

Wersja 1.0.0

Wersja 1.0.0

7 listopada 2018 r.

Nowe funkcje