Appcompat

Umożliwia dostęp do nowych interfejsów API w starszych wersjach interfejsów API platformy (wiele z nich korzysta z Material Design).
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca 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 Maven firmy Google.

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

Odlotowe

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ć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

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

Wersja 1.7

Wersja 1.7.0

29 maja 2024 r.

androidx.appcompat:appcompat:1.7.0androidx.appcompat:appcompat-resources:1.7.0 są dostępne. Wersja 1.7.0 zawiera te komisy.

Ważne zmiany od wersji 1.6.0

  • AppCompatDialog poprawnie ustawia wartości LifecycleOwner, SavedStateRegistryOwnerOnBackPressedDispatcherOwner w widoku dekoracji okna dialogowego za pomocą interfejsów API ViewTree, co rozwiązuje problemy z hostowaniem ComposeView w ramach AppCompatDialog.
  • AppCompatActivity ustawia teraz ViewTreeOnBackPressedDispatcherOwner, aby można było pobrać rozsyłkę z widoku.
  • znacznie poprawić wydajność funkcji SupportMenuInflater.
  • Locale.getDefault() zwraca teraz ustawienie języka systemu po uruchomieniu „na zimno”.
  • LinearLayoutCompat zachowuje teraz parametry układu marginesów.

Aktualizacje zależności

  • AppCompat zależy teraz od Activity 1.7.0.
  • AppCompat zależy teraz od wersji Fragment 1.5.4.

Wersja 1.7.0-rc01

14 maja 2024 r.

androidx.appcompat:appcompat:1.7.0-rc01androidx.appcompat:appcompat-resources:1.7.0-rc01 są dostępne. Wersja 1.7.0-rc01 zawiera te komity.

Wersja 1.7.0-beta01

1 maja 2024 r.

androidx.appcompat:appcompat:1.7.0-beta01androidx.appcompat:appcompat-resources:1.7.0-beta01 są dostępne. Wersja 1.7.0-beta01 zawiera te komity.

Wersja 1.7.0-alpha03

26 lipca 2023 r.

androidx.appcompat:appcompat:1.7.0-alpha03androidx.appcompat:appcompat-resources:1.7.0-alpha03 są dostępne. Wersja 1.7.0-alpha03 zawiera te commity.

Nowe funkcje

  • Obsługa pobierania lokalizacji w poszczególnych aplikacjach w kontekstach innych niż Activity (I58e753). W ramach tej funkcji dodaliśmy 4 nowe interfejsy API:

    • LocaleManagerCompat.getApplicationLocales(): aby deweloperzy mogli wykluczyć z zakresu działania aktywności poszczególne języki aplikacji.

    • ContextCompat.getString(): zwraca lokalizowane ciągi znaków na podstawie języka w aplikacji.

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

    • ConfigurationCompat.setLocales(): w przypadku wymienionych wyżej interfejsów API służy do ustawiania lokalizacji konfiguracji.

Inne zmiany w interfejsie API

  • Dodano setLineHeight(unit, lineHeight) do TextView klas zgodności (Ia9fa9).
  • Dodano setLineHeight(unit, lineHeight) do klas kompatybilności TextView (Ib2ee1).
  • Dodano setLineHeight(unit, lineHeight) do klas kompatybilności TextView (I15716)

Poprawki błędów

  • AppCompatDialog poprawnie ustawia wartości LifecycleOwner, SavedStateRegistryOwnerOnBackPressedDispatcherOwner w widoku dekoracji okna dialogowego za pomocą interfejsów API ViewTree, co rozwiązuje problemy z hostowaniem ComposeView w ramach AppCompatDialog. AppCompat zależy teraz od Activity 1.7.0. (Ib28ab, b/261314581)
  • Znaczne zwiększenie skuteczności SupportMenuInflater (I0b087)

Wersja 1.7.0-alpha02

8 lutego 2023 r.

androidx.appcompat:appcompat:1.7.0-alpha02androidx.appcompat:appcompat-resources:1.7.0-alpha02 są dostępne. Wersja 1.7.0-alpha02 zawiera te commity.

Poprawki błędów

  • Naprawiliśmy wyciek pamięci w funkcji AppCompatDelegate.getLocaleManagerForApplication() (44b57fd).
  • AppCompat zależy teraz od wersji Fragment 1.5.4 (I54dcd).

Wersja 1.7.0-alpha01

5 października 2022 r.

androidx.appcompat:appcompat:1.7.0-alpha01androidx.appcompat:appcompat-resources:1.7.0-alpha01 są dostępne. Wersja 1.7.0-alpha01 zawiera te commity.

Poprawki błędów

  • AppCompatActivity ustawia teraz ViewTreeOnBackPressedDispatcherOwner, aby można było pobrać rozsyłkę z widoku. (I1a115, b/235416503)
  • Locale.getDefault() zwraca teraz ustawienie języka systemu po uruchomieniu „na zimno” (I6a94b).
  • LinearLayoutCompat teraz zachowuje parametry układu marginesów (Id2af4).

Wersja 1.6.1

Wersja 1.6.1

8 lutego 2023 r.

androidx.appcompat:appcompat:1.6.1androidx.appcompat:appcompat-resources:1.6.1 są dostępne. Wersja 1.6.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy wyciek pamięci w funkcji AppCompatDelegate.getLocaleManagerForApplication() (44b57fd).

Wersja 1.6.0

Wersja 1.6.0

11 stycznia 2023 r.

androidx.appcompat:appcompat:1.6.0androidx.appcompat:appcompat-resources:1.6.0 są dostępne. 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

androidx.appcompat:appcompat:1.6.0-rc01androidx.appcompat:appcompat-resources:1.6.0-rc01 są dostępne. Wersja 1.6.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • AppCompatActivity ustawia teraz ViewTreeOnBackPressedDispatcherOwner, aby można było pobrać rozsyłkę z widoku. (I1a115, b/235416503)
  • Przywróciliśmy poprawkę błędu, która zastępowała konfigurację przekazaną do onConfigurationChanged. Powodowała ona problemy w przypadku testów, które wstrzyknęły własne konfiguracje niestandardowe za pomocą onConfigurationChanged.

Wersja 1.6.0-beta01

10 sierpnia 2022 r.

androidx.appcompat:appcompat:1.6.0-beta01androidx.appcompat:appcompat-resources:1.6.0-beta01 są dostępne. Wersja 1.6.0-beta01 zawiera te commity.

Zmiany w interfejsie API

  • Przeniesienie klas zgodności DrawableWrapper, DrawableContainer i StateListDrawable do publicznego interfejsu API. (I37f3e, b/227789566)
  • Wprowadza nową fabrykę do asynchronicznego napełniania układu. (Ia657b)

Poprawki błędów

  • Funkcja Toolbar będzie teraz wywoływać funkcję onPrepareMenu() przed wyświetleniem menu, a nie bezwarunkowo podczas jego tworzenia. (I2a58d, b/232206677)
  • Funkcja AppCompat zależy teraz wyraźnie od funkcji Lifecycle 2.5.1SavedState 1.2.0. (I7e3e2)
  • Dodano obsługę wywołania zwrotnego do AppCompatDelegate i do implementacji paska narzędzi udostępnionej przez AppCompat. (I24062)
  • Finalizowanie interfejsów API AppCompat w wersji 1.5.0-beta01 (I2a43d, b/236866227)
  • Finalizowanie interfejsów API AppCompat w wersji 1.5.0-beta01 (I2a43d, b/236866227)

Wersja 1.6.0-alpha05

15 czerwca 2022 r.

androidx.appcompat:appcompat:1.6.0-alpha05androidx.appcompat:appcompat-resources:1.6.0-alpha05 są dostępne. Wersja 1.6.0-alpha05 została opracowana w ramach prywatnej gałęzi wstępnej wersji i nie zawiera publicznych zatwierdzeń.

Zmiany w interfejsie API

  • Aktualizacja możliwości anulowania w celu dostosowania do sfinalizowanej wersji interfejsu API w pakiecie SDK Tiramisu Beta 3
  • Wartość minCompileSdk to teraz 33, aby dopasować ją do pakietu SDK Tiramisu w wersji beta 3.

Wersja 1.6.0-alpha04

18 maja 2022 r.

androidx.appcompat:appcompat:1.6.0-alpha04androidx.appcompat:appcompat-resources:1.6.0-alpha04 są dostępne. Ta biblioteka została opracowana na podstawie prywatnej gałęzi w wersji przedpremierowej, więc nie ma dostępnego dziennika zatwierdzeń.

Zmiany w interfejsie API

  • Dodaj interfejs API, aby zastąpić ograniczenie szerokości SwitchCompat na potrzeby MDC-Android

Poprawki błędów

  • Unikaj konfiguracji zarządzanej, gdy konfiguracja zmienia się poza funkcją attachBaseConfig

Wersja 1.6.0-alpha03

27 kwietnia 2022 r.

androidx.appcompat:appcompat:1.6.0-alpha03androidx.appcompat:appcompat-resources:1.6.0-alpha03 są dostępne.

Ta wersja wymaga kompilacji Androida 13 w wersji beta 1. Nie ma gwarancji, że będzie ona zgodna z przyszłościowymi wersjami w wersji zapoznawczej dla deweloperów.

Nowe funkcje

  • Obsługa niestandardowego wyboru języka w całej aplikacji za pomocą AppCompatDelegate.setApplicationLocales(). W przypadku interfejsu API 33 lub nowszego deleguje implementację na platformie.

Wersja 1.6.0-alpha01

23 lutego 2022 r.

androidx.appcompat:appcompat:1.6.0-alpha01androidx.appcompat:appcompat-resources:1.6.0-alpha01 są dostępne. Wersja 1.6.0-alpha01 została utworzona z gałęzi wewnętrznej i nie zawiera publicznie widocznych zatwierdzeń.

Ta wersja wymaga kompilacji Androida Tiramisu DP1 i nie jest gwarantowana jako zgodna z kompilacją w przyszłych wersjach dla deweloperów.

Nowe funkcje

Wersja 1.5.1

Wersja 1.5.1

7 września 2022 roku

androidx.appcompat:appcompat:1.5.1androidx.appcompat:appcompat-resources:1.5.1 są dostępne. Wersja 1.5.1 zawiera te zatwierdzenia.

Aktualizacje zależności

Wersja 1.5.0

Wersja 1.5.0

10 sierpnia 2022 r.

androidx.appcompat:appcompat:1.5.0androidx.appcompat:appcompat-resources:1.5.0 są dostępne. Wersja 1.5.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.4.0

  • Ta stabilna wersja zawiera ulepszenia stabilności trybu nocnego, poprawki błędów i obsługę cieniowania złożonych obiektów rysowanych dla widżetów tekstowych obsługiwanych przez AppCompat oraz ulepszenia użyteczności interfejsu API. Szczegółową listę zmian znajdziesz w informacjach o poprzedniej wersji 1.5.0.

Wersja 1.5.0-rc01

27 lipca 2022 roku

androidx.appcompat:appcompat:1.5.0-rc01androidx.appcompat:appcompat-resources:1.5.0-rc01 są dostępne. Wersja 1.5.0-rc01 zawiera te commity.

Poprawki błędów

  • Rozwiązano problem, który powodował, że opakowanie kontekstu AppCompat ponownie używało implementacji zasobów pomocniczych kontekstu aplikacji, co powodowało zastąpienie uiMode w kontekście aplikacji. (Idf9d5)

Wersja 1.5.0-beta01

13 lipca 2022 r.

androidx.appcompat:appcompat:1.5.0-beta01androidx.appcompat:appcompat-resources:1.5.0-beta01 są dostępne. Wersja 1.5.0-beta01 zawiera te commity.

Zmiany w interfejsie API

  • Dodaj flagę, którą można zastąpić, aby wyłączyć domyślne dostosowanie szerokości przełącznika. (I37cb7)
  • Dodano adnotację @FloatRange do interfejsu API pobierającego pozycję miniatury (If524c).
  • Dodaj brakujące adnotacje dotyczące możliwości (AnimatedStateListDrawableCompat) (Ieb4ec)

Poprawki błędów

  • Finalizowanie interfejsów API AppCompat w wersji 1.5.0-beta01 (I2a43d, b/236866227)
  • Zmiana wartości className na ActionMenuItemView, aby traktować ją jako Button (I5ee1c)

Wersja 1.5.0-alpha01

6 kwietnia 2022 roku

androidx.appcompat:appcompat:1.5.0-alpha01androidx.appcompat:appcompat-resources:1.5.0-alpha01 są dostępne. Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano nowy interfejs API, aby udostępnić pozycję suwaka podklasom (I9bfb4).
  • Zmieniono możliwość wystąpienia błędu na zgodną z Tiramisu DP2 (I0cbb7).
  • Dodano do widgetów pochodnych od TextView (Idf98c, b/165822337) podświetlenie złożonych obiektów do rysowania.
  • AppCompatDialog rozszerza teraz ComponentDialog o zgodność z OnBackPressedDispatcher (Id9b91, b/217620781)
  • SearchView.onQueryRefine() jest teraz chronioną widocznością, aby umożliwić zastąpienia (I6cce0, b/212882845)

Poprawki błędów

  • AppCompat Toolbar wywołuje teraz interfejs API onPrepareMenu()MenuHostHelper. (I9b9b5, b/227376894)
  • AppCompatEditText, AppCompatAutoCompleteEditText, AppCompatMultiAutoCompleteEditText nie będą już resetować właściwości clickable ani longClickable w konstruktorze, gdy zostaną ustawione w pliku XML (Ic5066, b/221094907)
  • AppCompatEditText, AppCompatAutoCompleteTextViewAppCompatMultiAutoCompleteTextView nie będą wywoływać zastąpionego setKeyListener podczas konstruktora (I5c13a, b/208480173)
  • Appcompat nie będzie otaczać wystąpień NumberKeyListener przekazanych do setKeyListener, co pozwoli TextView prawidłowo skonfigurować lokalizację na NumberKeyListeners (Ibf113, b/207119921)
  • Rozwiązano problem z wszystkimi podklasami NumberKeyListener wprowadzonymi w wersji AppCompat 1.4.0, które umożliwiały wprowadzanie nieoczekiwanych znaków, takich jak znaki interpunkcyjne (Iede7a, b/207119921).

Wersja 1.4.2

Wersja 1.4.2

1 czerwca 2022 r.

androidx.appcompat:appcompat:1.4.2androidx.appcompat:appcompat-resources:1.4.2 są dostępne. Wersja 1.4.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązano problem z zawieszaniem się aplikacji, który występował, gdy AppCompatDelegateImpl wywoływał wewnętrzne wywołanie ensureSubDecor przed utworzeniem paska działań (aosp/2048349, b/226648941).

Wersja 1.4.1

12 stycznia 2022 r.

androidx.appcompat:appcompat:1.4.1androidx.appcompat:appcompat-resources:1.4.1 są dostępne. Wersja 1.4.1 zawiera te zatwierdzenia.

Poprawki błędów

  • AppCompatEditText, AppCompatAutoCompleteTextViewAppCompatMultiAutoCompleteTextView nie wywołają overridensetKeyListener podczas konstruktora. (I5c13a, b/208480173)
  • Emoji2 nie spowoduje owinięcia wystąpień NumberKeyListener, co pozwoli na skonfigurowanie lokalizacji przez textview.
    • Appcompat nie owija wystąpień klasy NumberKeyListener przekazanych do setKeyListener, co pozwala komponentowi TextView prawidłowo skonfigurować locale na urządzeniu NumberKeyListeners. (Ibf113, b/207119921)
  • Rozwiązano problem z wszystkimi podklasami NumberKeyListener wprowadzonymi w wersji 1.4.0, które umożliwiały wprowadzanie nieoczekiwanych znaków, takich jak znaki interpunkcyjne (b/207119921) (Iede7a, b/207119921)

Wersja 1.4.0

Wersja 1.4.0

17 listopada 2021 r.

androidx.appcompat:appcompat:1.4.0androidx.appcompat:appcompat-resources:1.4.0 są dostępne. Wersja 1.4.0 zawiera te commity.

Ważne zmiany od wersji 1.3.0

  • Biblioteka jest teraz kierowana na poziom języka Java 8.
  • Obsługa aktualizowalnych emotikonów jest domyślnie włączona za pomocą biblioteki androidx.emoji2.
  • Ulepszona kontrola atrybutów w inspektorze układu w Android Studio (I02d55)
  • Dodaliśmy obsługę zagnieżdżonych zasobów z zabarwionymi krawędziami i rysunków wektorów w przenosach wstecznych wczytywania zasobów AppCompat. Pamiętaj jednak, że gdy włączone są porty wsteczne, aplikacje nie mogą zastąpić metody getDrawable() w niestandardowym obiekcie Resources. (Ia6b03, b/176129022)
  • Dodanie możliwości tworzenia tła i zaznaczenia w komponencie CheckedTextView (I8575c)

Wersja 1.4.0-rc01

27 października 2021 roku

androidx.appcompat:appcompat:1.4.0-rc01androidx.appcompat:appcompat-resources:1.4.0-rc01 są dostępne. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.

Wersja 1.4.0-beta01

29 września 2021 r.

androidx.appcompat:appcompat:1.4.0-beta01androidx.appcompat:appcompat-resources:1.4.0-beta01 są dostępne. Wersja 1.4.0-beta01 zawiera te commity.

Zmiany w interfejsie API

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

Poprawki błędów

  • Naprawiono obsługę pasków postępu listy warstw w klasie AppCompatProgressBar (I6ece3, b/142004509).
  • Prawidłowo zachowaj android:digitsAppCompatEditText. Poprawi to błąd 193047889 wprowadzony w wersji AppCompat 1.4.0-alpha03. (I4b4fc, b/193047889)
  • Zintegrowany pakiet SDK OnReceiveContentListener i obsługa interfejsów API biblioteki. (Ic6914, b/173814913)

Wersja 1.4.0-alpha03

30 czerwca 2021 r.

androidx.appcompat:appcompat:1.4.0-alpha03androidx.appcompat:appcompat-resources:1.4.0-alpha03 są dostępne. Wersja 1.4.0-alpha03 zawiera te commity.

Nowe funkcje

  • Biblioteka jest teraz kierowana na poziom języka Java 8.
  • Dodaj obsługę emotikonów 2 dla większej liczby podklas TextView (AppCompatMultiAutoCompleteTextView, AppCompatAutoCompleteTextView, AppCompatRadioButton, AppCompatCheckBox).

Zmiany w interfejsie API

  • Dodano interfejs API do konfigurowania obiektu InputConnection, aby używać metody View.performReceiveContent do obsługi wywołań IME w przypadku metody InputConnection.commitContent. (I3a2ad)
  • Dodaj obsługę EmojiCompat do AppCompatMultiAutoCompleteTextView (Ifece0)
  • Dodaj obsługę EmojiCompat do AppCompatAutoCompleteTextView (Ia1f4b)
  • Dodaj obsługę EmojiCompat do AppCompatRadioButton (If08af)
  • Dodaj obsługę EmojiCompat do AppCompatCheckBox (I2b3bc)
  • Zezwalaj na puste wartości KeyListener w elementach AppCompatEditText. To odwraca adnotację non-null, która została dodana do AppCompatEditText w wersji 1.4-alpha01 i przywraca poprzednie zachowanie, gdy przekazano wartość null. (I21482, b/189559345)
  • Dodaj PopupMenu.setForceShowIcon, aby zapewnić zgodność z interfejsami API platformy (I43bb3, b/182789798).

Poprawki błędów

  • Naprawiono błąd w elementach AppCompatEditText, który powoduje resetowanie wartości inputType określonej w pliku XML w celu usunięcia odmian. Ten błąd został wprowadzony w wersji AppCompat 1.4.0-alpha01. (I9df36, b/191061070)

Wersja 1.4.0-alpha02

2 czerwca 2021 r.

androidx.appcompat:appcompat:1.4.0-alpha02androidx.appcompat:appcompat-resources:1.4.0-alpha02 są dostępne. Wersja 1.4.0-alpha02 zawiera te commity.

Zmiany w interfejsie API

  • Dodano konstruktor AppCompatDialogFragment, który przyjmuje identyfikator układu (Icbf22, b/188119987).
  • Ulepszona obsługa narzędzia Layout Inspector (I02d55)
  • Zmieniono nazwę pakietu z emoji2-views-helper na androidx.emoji2.viewsintegration. Jest to zmiana powodująca przerwanie działania biblioteki AppCompat 1.4.0-alpha01. Aplikacje muszą mieć zaktualizowaną zależność AppCompat, aby używać nowej wersji emoji2. (Ie8397)

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że zatrzymane aktywności nie otrzymywały zmian konfiguracji wynikających z modyfikacji trybu nocnego w ramach instrumentacji zgodności aplikacji. (I8fa8f, b/188681415)
  • Naprawiono błąd w AppCompatEditText, który powodował, że widoki można było ustawić w fokusie, nawet jeśli w pliku XML określono parametr android:focusable="false" (błąd wprowadzony w funkcji AppCompat 1.4.0-alpha01) (Ib9412)

Wersja 1.4.0-alpha01

18 maja 2021 r.

androidx.appcompat:appcompat:1.4.0-alpha01androidx.appcompat:appcompat-resources:1.4.0-alpha01 są dostępne. Wersja 1.4.0-alpha01 zawiera te commity.

Zmiany w interfejsie API

  • Wbudowane wsparcie dla EmojiCompat w różnych widżetach AppCompat (Id409b, If7a1a, Ic262d, Ib5f4a, I4fb3c)
  • Dodaliśmy obsługę zagnieżdżonych zasobów z zabarwionymi krawędziami i rysunków wektorów w przenosach wstecznych wczytywania zasobów AppCompat. Oznacza to jednak, że gdy włączone są porty wsteczne, aplikacje nie mogą zastąpić wartości getDrawable() w obiekcie zasobów niestandardowych. (Ia6b03, b/176129022)
  • Ulepszona obsługa narzędzia Layout Inspector (I6d771)

Poprawki błędów

  • Rozwiązaliśmy problem, w którym wywołanie metody setSupportActionBar po ustawieniu wywołania zwrotnego okna powodowało zastąpienie tego ostatniego. (Ie43ee, b/186791590)
  • Dodano obejście problemu w wersjach SDK 29 i 30, w których zasoby ColorStateListDrawable sklonowane z pliku pamięci podręcznej drawable nie wczytują koloru domyślnego, dopóki nie otrzymają zmiany stanu. (Iedb4b)
  • Unikaj NPE podczas obsługi wywołań zwrotnych trybu działania niestandardowego niestandardowego wyboru w widokach obsługiwanych przez AppCompat. (I033c7, b/173435375)

Aktualizacje zależności

Darowizna zewnętrzna

  • Wsteczna aktualizacja umożliwiająca tworzenie tła i oznaczenia wyboru w przypadku CheckedTextView (I8575c)

Wersja 1.3.1

Wersja 1.3.1

21 lipca 2021 r.

androidx.appcompat:appcompat:1.3.1androidx.appcompat:appcompat-resources:1.3.1 są dostępne. Wersja 1.3.1 zawiera te zatwierdzenia.

Aktualizacje zależności

  • Interfejs AppCompat zależy teraz od interfejsów Activity 1.2.4Fragment 1.3.6, dzięki czemu poprawki z tych wersji są domyślnie uwzględniane podczas korzystania z interfejsu AppCompat 1.3.1. (I8fbec)

Wersja 1.3.0

Wersja 1.3.0

18 maja 2021 r.

androidx.appcompat:appcompat:1.3.0androidx.appcompat:appcompat-resources:1.3.0 są dostępne. Wersja 1.3.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.2.0

  • Naprawiono problem z propagowaniem atrybutów android:theme w układach <include>d na urządzeniach z Androidem w wersji wcześniejszej niż Lollipop.
  • Zmniejszono rozmiar biblioteki przez przekonwertowanie wielu zasobów PNG na VectorDrawables
  • Dodano obsługę zdarzeń przeciągania i upuszczania w funkcji AppCompatEditText z użyciem OnReceiveContentListener
  • Zaktualizowano, aby obsługiwać zmiany w obsługiwaniu wcięć okna w Androidzie 11
  • Dodano obsługę RTL w elementach menu z ikonami
  • Dodano obsługę wstawiania elementów rozszerzonych (np. wklejania obrazu) w AppCompatEditText

  • Zaktualizowane zależności: appcompat zaktualizowano wiele zależności biernych, aby obsługiwały nowe funkcje i poprawki:

Wersja 1.3.0-rc01

24 marca 2021 r.

androidx.appcompat:appcompat:1.3.0-rc01androidx.appcompat:appcompat-resources:1.3.0-rc01 są dostępne. Wersja 1.3.0-rc01 zawiera te commity.

Poprawki błędów

  • Zapobiega przedwczesnemu cofnięciu uprawnień podczas obsługi wstawiania treści za pomocą IME

Aktualizacje zależności

Darowizna zewnętrzna

  • Naprawiono propagowanie atrybutu android:theme w układach <include>d na urządzeniach z systemem Lollipop i starszym (Simon Bergner z firmy Opera).

Wersja 1.3.0-beta01

13 stycznia 2021 r.

androidx.appcompat:appcompat:1.3.0-beta01androidx.appcompat:appcompat-resources:1.3.0-beta01 są dostępne. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Nowe funkcje

  • Zasoby graficzne trybu działania 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

  • Zintegrowano przeciąganie i upuszczanie (zdarzenia zrzutu) w komponencie AppCompatEditText za pomocą metody OnReceiveContentListener. (Ib26c9, b/175343405)
  • Zaktualizowano OnReceiveContentListener i powiązane interfejsy API. Więcej informacji znajdziesz w sekcji Zmiany w bibliotece androidx.core. (Ib4616, b/173814913)
  • Przeniesiono widget.RichContentReceiverCompat do view.OnReceiveContentListener. (Ifdab7, b/173814913)
  • Interfejsy API służące do dostarczania i pobierania początkowego tekstu zostały przeniesione do wersji EditorInfoCompat. Umożliwiają one aplikacjom IME uniknięcie dodatkowego opóźnienia w komunikacji między procesami. (Ie3809)

Wersja 1.3.0-alpha02

19 sierpnia 2020 r.

androidx.appcompat:appcompat:1.3.0-alpha02androidx.appcompat:appcompat-resources:1.3.0-alpha02 są dostępne. Wersja 1.3.0-alpha02 zawiera te commity.

Poprawki błędów

  • Zasoby rysowalne PNG z poziomej listy AppCompatRatingBar zostały zastąpione źródłami wektorowymi. Może to spowodować niewielkie zmiany w wyglądzie poszczególnych gwiazdek. (I6b99d)
  • Aktualizacja interfejsu WindowInsetsCompat do interfejsów API Androida 11 (I3df9e)
  • Obsługa RTL w elementach menu z ikonami (I2f5c5)

Aktualizacje zależności

Wersja 1.3.0-alpha01

20 maja 2020 r.

androidx.appcompat:appcompat:1.3.0-alpha01androidx.appcompat:appcompat-resources:1.3.0-alpha01 są dostępne. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj nową regułę Lint, aby oznaczać wywołania setActionBar w aktywnościach rozszerzających AppCompatActivity.
  • Dodano obsługę ViewTreeLifecycleOwnerLifecycle 2.3.0-alpha01, ViewTreeViewModelStoreOwnerLifecycle 2.3.0-alpha03ViewTreeSavedStateRegistryOwnerSavedState 1.1.0-alpha01 podczas używania ViewAppCompatActivity. (b/151603528, aosp/1300264)
  • Dodaj interfejs API do wstawiania treści multimedialnych (np. wklejania obrazu). Nowy wywołanie zwrotne udostępnia jeden interfejs API, który aplikacje mogą wdrażać, aby obsługiwać różne sposoby wstawiania treści rozszerzonych. Na razie interfejs API jest dodany tylko do AppCompatEditText i będzie wywoływany w ramach tych ścieżek kodu:
    • wklejanie ze schowka
    • wstawianie treści z IME (InputConnection.commitContent) (I22bf7)

Poprawki błędów

  • AppCompat 1.2.0-rc01: funkcja AppCompat nie wywołuje już funkcji onMenuOpened() z menu null. (b/142843126)
  • Prawidłowo rozwiązywać kolory linków tekstowych i wskazówek na starszych urządzeniach, gdy wywoływana jest metoda TextViewCompat.setTextAppearance z stylem wyglądu tekstu, który ma listy stanów kolorów odwołujące się do atrybutów koloru motywu (b/154702995).

Wersja 1.2.0

Wersja 1.2.0

5 sierpnia 2020 r.

androidx.appcompat:appcompat:1.2.0androidx.appcompat:appcompat-resources:1.2.0 są dostępne. Wersja 1.2.0 zawiera te zatwierdzenia.

Najważniejsze zmiany od wersji 1.1.0

  • Rozwiązano problemy z obsługą przypadków użycia polegających na zastąpieniu konfiguracji, w tym niestandardowych ustawień lokalnych i skali czcionek. Przykład prawidłowej implementacji zastąpień za pomocą atrybutu appcompat:1.2.0 znajdziesz tutaj.
  • Wycofano: AppCompatDelegate.attachBaseContext(). Jeśli wywołujesz lub zastępujesz tę metodę, użyj zamiast niej funkcji AppCompatDelegate.attachBaseContext2().
  • Wycofano: CollapsibleActionView. Ten interfejs nie jest już potrzebny. Użyj interfejsu android.view.CollapsibleActionView udostępnionego przez platformę.

Wersja 1.2.0-rc02

22 lipca 2020 r.

androidx.appcompat:appcompat:1.2.0-rc02androidx.appcompat:appcompat-resources:1.2.0-rc02 są dostępne. Wersja 1.2.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązaliśmy problem związany z trybem nocnym, w którym wywołanie AppCompatDelegate.setDefaultNightMode z okna dialogowego czasami nie powodowało ponownego tworzenia aktywności i stosowania nowego trybu. (aosp/1348308, b/158923881)

Wersja 1.2.0-rc01

14 maja 2020 r.

androidx.appcompat:appcompat:1.2.0-rc01androidx.appcompat:appcompat-resources:1.2.0-rc01 są dostępne. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • AppCompatDelegate.setLocalNightMode została oznaczona jako wymagająca pakietu SDK w wersji 17 lub nowszej z powodu problemu z platformą polegającego na tym, że zmiany konfiguracji w starszych pakietach SDK są widoczne w innych aktywnościach.

Poprawki błędów

  • Funkcję AppCompatDelegate.setLocalNightMode można teraz wywołać przed funkcją Activity.attachBaseContext
  • Rozwiązanie problemu z użyciem ActionBarOverlayLayout w ramce, który nieprawidłowo używał zasobów w pamięci podręcznej.
  • AppCompat nie wywołuje już funkcji onMenuOpened() z menu null. (b/142843126)

Wersja 1.2.0-beta01

1 kwietnia 2020 r.

androidx.appcompat:appcompat:1.2.0-beta01androidx.appcompat:appcompat-resources:1.2.0-beta01 są dostępne. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy te nowe reguły lint, które w tych scenariuszach będą oznaczać nieprawidłowe użycie AppCompat:
    • Wczytywanie list stanów kolorów: sugeruje używanie interfejsów API ContextCompatAppCompatResources na potrzeby zgodności wstecznej.
    • Ładowanie grafik: sugeruje używanie interfejsów API ContextCompatResourcesCompat na potrzeby zgodności wstecznej.
    • Używanie list stanów kolorów z atrybutem alfa: flagi bez atrybutu android:alpha, co spowoduje nieprawidłowe wyświetlanie na niektórych platformach
    • Wyświetlanie obrazów w kolorze: flagi, które nie używają elementu app:tint, co spowoduje nieprawidłowe wyświetlanie w starszych wersjach platformy.
    • Używanie złożonych obiektów do rysowania i barwienia w widokach tekstu: sugeruje używanie atrybutów zgodności i interfejsów API na potrzeby zgodności wstecznej.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że ActionBarOverlayLayout (działanie dekoracji okna) nie wysyłało poprawnie WindowInsets.
  • Rozwiązaliśmy problemy z zabarwianiem obiektów do rysowania i wyglądem tekstu w starszych wersjach platformy.
  • Rozwiązaliśmy problem, który powodował awarię webview w przypadku długiego naciśnięcia webview (b/141351441).androidx.appcompat:appcompat:1.1.0
  • Wprowadziliśmy poprawki dotyczące problemów z modyfikowaniem kontekstu podstawowego i pobieraniem usług systemowych podczas uruchamiania aktywności.

Wersja 1.2.0-alpha03

4 marca 2020 r.

androidx.appcompat:appcompat:1.2.0-alpha03androidx.appcompat:appcompat-resources:1.2.0-alpha03 są dostępne. Wersja 1.2.0-alpha03 zawiera te komisy.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że osłona stanu trybu działania błędnie rozszerzała się na pasek nawigacji i miała niewłaściwy kolor (Ia4a09).
  • Rozwiązanie problemu polegającego na tym, że zatrzymane aktywności nie były wznawiane na poziomie interfejsu API 23 i niżej (I45201)

Wersja 1.2.0-alpha02

29 stycznia 2020 r.

androidx.appcompat:appcompat:1.2.0-alpha02androidx.appcompat:appcompat-resources:1.2.0-alpha02 są dostępne. Wersja 1.2.0-alpha02 zawiera te commity:

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował awarię WebView w wersji 1.1.0 podczas długiego naciśnięcia (b/141351441).
  • Naprawiono zabarwianie elementów TextView w porównaniu z elementami złożonymi na poziomie interfejsu API 23 (aosp/1172194).
  • Upewnij się, że kontekst bazowy jest zawsze opakowaniem (aosp/1194355)
  • Wprowadziliśmy kilka ulepszeń, aby zwiększyć inteligencję podczas modyfikowania konfiguracji kontekstu podstawowego (aosp/1204543).
  • Wyłączenie createConfigurationContext() w przypadku Robolectric (aosp/1186218)

Wersja 1.2.0-alpha01

4 grudnia 2019

androidx.appcompat:appcompat:1.2.0-alpha01androidx.appcompat:appcompat-resources:1.2.0-alpha01 są dostępne. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia

Poprawki błędów

  • wywołania PackageManager.getActivityInfo nie powodują już awarii w trybie ścisłym z włączonymi kontrolami uruchamiania
  • Poprawki dotyczące zabarwiania elementów rysowanych w przycisku AppCompatButton
  • Poprawki dotyczące zabarwiania i wyglądu tekstu w starszych wersjach platformy

Wersja 1.1.0

Wersja 1.1.0

5 września 2019 r.

androidx.appcompat:appcompat:1.1.0androidx.appcompat:appcompat-resources:1.1.0 są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.

Ważne zmiany od wersji 1.0.0

  • Ulepszenia trybu ciemnego: MODE_NIGHT_AUTO i przełączanie trybu ciemnego/jasnego na podstawie aktualnej godziny jest teraz wycofane. Rozważ użycie jawnego ustawienia lub MODE_NIGHT_AUTO_BATTERY.
  • Aktywność 1.0: AppCompatActivity rozszerza się teraz w drodze ComponentActivityAktywności 1.0.0 przez Fragment 1.1.0. Informacje o zmianach w każdej bibliotece znajdziesz w powiązanych informacjach o wersji.
  • Konstruktor LayoutId klasy AppCompatActivity: podklasy klasy AppCompatActivity mogą teraz opcjonalnie wywoływać konstruktor klasy AppCompatActivity, który przyjmuje identyfikator R.layout, wskazując układ, który powinien zostać ustawiony jako widok treści, jako alternatywę dla wywołania metody setContentView() w klasie onCreate(). Nie zmienia to jednak wymagań dotyczących konstruktora bez argumentów w podklasie.

Wersja 1.1.0-rc01

2 lipca 2019 r.

androidx.appcompat:appcompat:1.1.0-rc01androidx.appcompat:appcompat-resources:1.1.0-rc01 są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.

Poprawki błędów

  • Funkcja DayNight poprawnie obsługuje teraz parametr configChanges (aosp/981105)
  • Wywołaj tylko funkcję onConfigurationChanged w przypadku rozpoczętych działań (aosp/987483)

Wersja 1.1.0-beta01

5 czerwca 2019 r.

androidx.appcompat:appcompat:1.1.0-beta01androidx.appcompat:appcompat-resources:1.1.0-beta01 są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.

Poprawki błędów

  • Upewnij się, że usuwamy odbiorców w dialogach AppCompatDialogs (aosp/959376).
  • Dodanie obsługi buttonGravity=center_vertical na pasku narzędzi (b/130361721)
  • Poprawka przesunięcia spinnera w poziomie (b/79477181)

Wersja 1.1.0-alpha05

7 maja 2019 r.

androidx.appcompat:appcompat:1.1.0-alpha05androidx.appcompat:appcompat-resources:1.1.0-alpha05 są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

Poprawki błędów

  • różne poprawki trybu dzień/noc;
  • Nieważne rysowanie obrysu przy każdej zmianie tła w pasku czynności
  • Naprawianie przewijania widżetu spinnera
  • Rozwiązanie problemu polegający na zastępowaniu niestandardowych ustawień tła okna w AlertDialog

Wersja 1.1.0-alpha04

3 kwietnia 2019 r.

androidx.appcompat:appcompat:1.1.0-alpha04androidx.appcompat:appcompat-resources:1.1.0-alpha04 są dostępne. Zmiany zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

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

Zmiany w interfejsie API

  • Klasa AppCompatActivity zawiera teraz drugi konstruktor, który przyjmuje parametr @LayoutRes int. Zastępuje on poprzednie zachowanie polegające na adnotowaniu klasy AppCompatActivity za pomocą parametru @ContentView. To podejście działa zarówno w przypadku modułów aplikacji, jak i bibliotek. (b/128352521)

Poprawki błędów

  • Zablokowane wewnętrzne zależności w wersjach stabilnych, o ile to możliwe
  • Naprawiono AppCompatSpinnerprzewijanie w trybie menu b/124274573)
  • Tylko połączenia applyOverrideConfiguration() (jeśli wymagane w przypadku DayNight)

Wersja 1.1.0-alpha03

13 marca 2019 r.

androidx.appcompat:appcompat:1.1.0-alpha03androidx.appcompat:appcompat-resources:1.1.0-alpha03 zostały opublikowane. To pierwsza wersja appcompat-resources. Pełną listę zatwierdzeń zawartych w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Nowa biblioteka appcompat-resources zawiera interfejsy API, które umożliwiają aplikacjom wczytywanie i zabarwianie obiektów drawable (w tym obiektów drawable wektorowych) w starszych wersjach platformy. To ta sama funkcjonalność, która wcześniej była częścią modułu appcompat, ale teraz jest dostępna bez obciążenia związanego z pełnym wdrożeniem funkcji z ram łatki w ramach projektu Material Design, w tym widżetów, dialogów, trybu nocnego itp.
  • Ważne poprawki dotyczące obsługi trybu dziennego/nocnego
  • Nowa opcja MODE_NIGHT_AUTO_BATTERY w trybie Dzień/Noc
  • Zaznaczone zabarwienie w AppCompatTextView
  • Pasek narzędzi może teraz wyświetlać listy stanów kolorów w tematycznych kolorach
  • 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 podać zawartość menu podczas inflacji.

Poprawki błędów

  • Naprawiono domyślny tryb zabarwiania w ImageView w wersji 21.
  • Rozwiązano problem z nieprawidłowym zamykaniem wyskakującego okienka spinnera po obróceniu urządzenia.
  • Naprawiono błąd: w pliku manifestu opcja DayNight nie uwzględnia wartości configChanges
  • Naprawiono problem z przełączaniem na MODE_NIGHT_FOLLOW_SYSTEM (b/111345020).
  • Naprawiono błąd, który powodował, że WebView resetuje zasoby DayNight (b/3712458).

Wersja 1.1.0-alpha02

7 lutego 2019 r.

Element androidx.appcompat:appcompat 1.1.0-alpha02 został zwolniony.

Nowe funkcje

  • Wyodrębnienie obsługi rysunków specyficznych dla zasobu w haku (aosp/870976)
  • Umożliwienie paskowi narzędzi titleTextColorsubtitleTextColor używania metody ColorStateList oraz dodanie przeciążeń ColorStateList metod setTitleTextColorsetSubtitleTextColor (aosp/867489)

Poprawki błędów

  • Rozwiązano problem z niedziałaniem funkcji fontFamily w wersji interfejsu API starszej niż 24 (aosp/807054).
  • Rozwiązanie problemu, który powodował, że textFontWeight nie działało, gdy aktywność rozszerza się z AppCompatActivity (aosp/847640)
  • Naprawiono błąd, który powodował, że tekst tytułu w wyskakującym okienku elementu Spinner (w trybie dialogowym) nie używało czcionki określonej w elementie fontFamily (aosp/789994).
  • Naprawiono błąd, który uniemożliwiał zmianę odcienia tła w widżetach AppCompatCheckBoxAppCompatRadioButton (aosp/825160).
  • Usunięliśmy błąd, który powodował, że AppCompat nie zastępował android: list styles (aosp/862350).

Wersja 1.1.0-alpha01

3 grudnia 2018 r.

Nowe funkcje

  • Komponent AppCompatTextView obsługuje teraz komponenty rysowane złożone app:drawableLeftCompat, app:drawableTopCompat, app:drawableRightCompat, app:drawableBottomCompat, app:drawableStartCompat i app:drawableEndCompat, obsługując z powrotem wstecz typy rysowanych komponentów, takie jak VectorDrawableCompat.

  • Domyślne obiekty do rysowania w urządzeniach AppCompatCheckBoxAppCompatRadioButton są teraz animowane podczas zmiany stanu weryfikacji.

Zmiany w interfejsie API

  • aosp/740385: ActionBarOverlayLayout teraz implementuje NestedScrollingParent2 i NestedScrollingParent3, co umożliwia korzystanie z najnowszych funkcji w nested scrolling 3. Jeśli kod dewelopera obecnie zastępuje funkcję ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int), prawdopodobnie nie będzie już wywoływana i zamiast niej należy zastąpić funkcję ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int, int, int[]).

Wersja 1.0.2

Wersja 1.0.2

7 listopada 2018 r.

Wersja z poprawkami błędów core-1.0.1appcompat-1.0.2.

Poprawki błędów

  • Usunęliśmy błąd, który powodował awarię PrecomputedTextCompat podczas używania w języku arabskim z kierunkiem pisania z prawej na lewo.AppCompatTextView b/113070424

Wersja 1.0.0

Wersja 1.0.0

7 listopada 2018 r.

Nowe funkcje