Archiwum wersji biblioteki pomocy

Na tej stronie znajdziesz szczegółowe informacje o starszych wersjach pakietów Biblioteki pomocy. Dla: najnowsze wersje Biblioteki pomocy, patrz Najnowsze Obsługa wersji biblioteki.

Wersja 26.0.0 Beta 2

(Czerwiec 2017 r.)

Pamiętaj, że 26.0.0-beta2 to wersja przedpremierowa. Jego interfejs API to może ulec zmianie i nie musi zawierać funkcji ani poprawek błędów, z najnowszej stabilnej wersji Biblioteki pomocy.

Ważne: biblioteki pomocy są już dostępne w repozytorium Google Maven. Nie musisz pobierać pomocy z repozytorium pakietu SDK. Więcej informacji: Konfiguracja biblioteki pomocy.

Nowe interfejsy API

Różnice między interfejsami API

Poprawki błędów

  • Rezygnacja z pakietu SDK Android O powoduje utratę kursywy w elementach TextView
  • Podczas łączenia się z usługą Media BrowserServiceCompat zerowy wyjątek wskaźnika
  • TextInputLayout musi ustawiać wskazówki dotyczące onProvideAutofillStruktura()
  • Przepełnienie stosu podczas korzystania z automatycznego rozmiaru TextView w O

Wersja 26.0.0 Beta 1

(maj 2017 r.)

Pamiętaj, że 26.0.0-beta1 to wersja przedpremierowa. Jego interfejs API to może ulec zmianie i nie musi zawierać funkcji ani poprawek błędów, z najnowszej stabilnej wersji Biblioteki pomocy.

Ważne: biblioteki pomocy są już dostępne w repozytorium Google Maven. Nie musisz pobierać pomocy z repozytorium pakietu SDK. Więcej informacji: Konfiguracja biblioteki pomocy.

Ważne zmiany

  • FragmentActivity.setSupportMediaController() i FragmentActivity.getSupportMediaController() zostały usunięte. Użyj nowych statycznych metod MediaControllerCompat.setMediaController() i MediaControllerCompat.getMediaController().
  • BottomNavigationView dzwoni teraz onNavigationItemReselected() po wybraniu wcześniej wybranego elementu, zamiast dzwonić onNavigationItemSelected()
  • Wszystkie instancje metody findViewById() zwracają teraz <T extends View> T zamiast View. Ta zmiana ma takie konsekwencje:
    • Może to spowodować, że istniejący kod będzie mieć niejednoznaczny typ zwrotu, na przykład, jeśli jest zarówno someMethod(View), jak i someMethod(TextView), który przenosi wynik wywołania do findViewById()
    • Jeśli używany jest język źródłowy Java 8, wymaga to jawnego rzutu na View, gdy typ zwrotu nie jest ograniczony (na przykład assertNotNull(findViewById(...)).someViewMethod())
    • Zastąpienia nieostatecznych metod findViewById() (dla (np. Activity.findViewById()) będą potrzebować zwrotu Zaktualizowano typ.

Nowe interfejsy API

  • FragmentManager i Fragment mają isStateSaved(), która pozwala na wysyłanie zapytań, czy transakcja będzie dozwolona bez utraty stanu. Jest to szczególnie przydatne aby sprawdzić, czy jest obsługiwane zdarzenie onClick() przed wykonaniem transakcji.
  • Ruch po ścieżce jest obsługiwany w AnimatedVectorDrawableCompat. Ruch ścieżki umożliwia jednemu animatorowi obiektu zmianę dwóch właściwości jednocześnie czas na podstawie jednej ścieżki, ścieżka jest określona jako android:pathData w pliku XML animatora).
  • Na podstawie fizyki animacja:
    • Nowy obiekt FlingAnimation obsługujący animację za pomocą tagu wraz z prędkością początkową i płynnie zwalnia.
    • Podklasy klasy DynamicAnimation obsługują animowanie niestandardowe dla dowolnego obiektu.
    • Zarówno SpringAnimation, jak i FlingAnimation mogą teraz animuj wartość zmiennoprzecinkową bez konieczności stosowania właściwości View czy Object.

    Więcej informacji: Wiosenna animacja i animacja przesunięcia stron podglądu.

  • Czcionka obsługa w formacie XML:
    • ResourcesCompat.getFont umożliwia wczytanie czcionki zasobów (w tym kodu XML rodziny czcionek), które mogą być używane z TextView.setTypeface()
    • W przypadku używania AppCompat obiekt TextView umożliwia określenie zasobu czcionki lub z rodziny czcionek XML za pomocą atrybutu XML android:fontFamily.
    • Używaj rodziny czcionek XML do tworzenia rodzin czcionek o określonym stylu i grubości odmian. (Jeśli korzystasz z klas pomocy, użyj do tego celu Atrybuty app: oraz android: ).
  • Do pobrania czcionki:
    • Nowa funkcja FontsContractCompat, która umożliwia wysyłanie próśb o zgodę na używanie czcionek z dostawcy czcionek, zamiast grupować je w aplikacji.
    • Czcionki można też żądać w formacie XML i używać w układach.
  • Zgodność emotikonów biblioteka:
    • EmojiCompat może przetworzyć dane: CharSequence i dodaj EmojiSpans.
    • EmojiTextView i inne widżety do wyświetlania emotikonów.
    • FontRequestEmojiCompatConfig, aby poprosić o czcionkę emotikonów z dostawcy czcionki.
  • Automatyczny rozmiar TextView:
    • Nowe metody w TextViewCompat oraz atrybuty XML aby sterować automatycznym rozmiarem w TextView.
  • Sterowanie odtwarzaniem w funkcji Leanback z obsługą przewijania:
    • Nowy komponent PlaybackTransportRowPresenter, który renderuje odtwarzanie za pomocą paska przewijania.
    • Nowa funkcja PlaybackTransportControlGlue, która współpracuje z funkcją PlaybackTransportRowPresenter i obsługuje przewijanie.
    • Nowa klasa bazowa PlaybackSeekDataProvider dla aplikacji udostępnienie miniatur przewijania do usługi PlaybackTransportControlGlue.
  • Magazyn danych preferencji:
    • PreferenceDataStore umożliwia teraz wdrażanie własnych pamięć ustawień, ustawiona z nowymi metodami w usłudze Preference i PreferenceManager.

Znane problemy

  • Integracja czcionek i emotikonów do pobrania z Google Play Usługi działają tylko w Usługach Google Play w wersji 11 lub nowszej, które są obecnie dostępna w Google Play Program testów beta usług.

Poprawki błędów

  • Interfejs API MediaBrowserCompat.search() nie działa (problem z AOSP 262170)
  • ViewCompat.postInvalidateOnAnimation() zgłasza wyjątek (AOSP problem 80146)
  • Funkcja onActivityCreated() wywołała fragmenty w zniszczonej aktywności
  • RecyclerView.isComputingLayout() powinien zwracać wartość „prawda” w trakcie pobieranie z wyprzedzeniem
  • Gdy przejście Fade zostanie przerwane i cofnięte, makro View rozpoczyna animację od początku. (Poprawka przeniesiona z Android Framework).
  • Transition.Fade ignoruje początkową wersję alfa View (problem AOSP 221820)

Wersja 26.0.0 alfa 1

(Marzec 2017 r.)

Pamiętaj, że 26.0.0-alfa1 to wersja przedpremierowa. Jego interfejs API to może ulec zmianie i nie musi zawierać funkcji ani poprawek błędów, z najnowszej stabilnej wersji Biblioteki pomocy.

Ważne zmiany

Uwaga: minimalna wersja pakietu SDK została zwiększona do 14. W rezultacie wiele interfejsów API istniało wyłącznie dla interfejsów API < 14 została wycofana. Klienty tych interfejsów API powinny przejść na swoją platformę odpowiedniki podane na stronie referencyjnej każdego wycofanego interfejsu API.

  • Moduł procentowej pomocy technicznej został wycofany. Klienci tego modułu należy przenieść do nowego widżetu ConstraintLayout, który jest udostępniany osobne artefakty w Menedżerze SDK.
  • Moduł fragmentów pomocy nie jest już powiązany z modułem support-media-compat.

Nowe interfejsy API

Dodaliśmy wiele nowych klas, metod i stałych, aby zapewnić obsługuje wsteczną obsługę interfejsów API platformy dodanych w podglądzie O.

  • IME_FLAG_NO_PERSONALIZED_LEARNING: edytory IME mogą nasłuchiwać "bez nauki" dla aplikacji z trybem prywatnym, np. przeglądarek. Ten pomaga edytorom IME określić, czy aplikacja jest w trybie prywatnym, mogą wyłączyć funkcje uczenia się lub adaptacji, gdy aplikacja i trybu uzyskiwania zgody.

Pełną listę zmian interfejsu API między 25.2.0 a 26.0.0-alfa1 znajdziesz w interfejs API biblioteki pomocy raportem o różnicach.

Poprawki błędów

  • W niektórych przypadkach prosty AutoTransition animacje mogą zostać przerwane przez „przeskoki” widoku. (numer AOSP: 221816)

Wersja 25.4.0

(Czerwiec 2017 r.)

Ważne: biblioteki pomocy są już dostępne w repozytorium Google Maven. Nie musisz pobierać pomocy z repozytorium pakietu SDK. Więcej informacji: Konfiguracja biblioteki pomocy.

Ważne zmiany

  • executePendingTransactions(), commitNow(), popBackStackImmediate() i podobne wywołania transakcji są niedozwolone podczas Zmiany stanu: FragmentManager. Uczestnik wykonywanie transakcji jest niebezpieczne, a FragmentManager teraz egzekwuje to w swoim stanie zmian.
  • Wraz z tą wersją biblioteki pomocy udostępniamy również multidex, wersji 1.0.2. W tej wersji wprowadzono następujące ważne zmiany:
    • Zezwala na wielokrotne deksowanie pakietu APK instrumentacji.
    • Wycofuje MultiDexTestRunner (należy użyć AndroidJUnitRunner ).
    • Zapewnia lepszą ochronę przed nieprawidłowym wyodrębnianiem archiwum i zarządzanie aplikacją.
    • Naprawiono błąd, który mógł powodować porzucone pliki tymczasowe.
    • Umożliwia szybszą instalację podczas równoczesnego procesu.
    • Naprawiono błąd instalacji w interfejsach API 19 i 20.

Nowe i zmodyfikowane interfejsy API

AnimatedVectorDrawableCompat obsługuje przekształcanie ścieżek i interpolację ścieżek. Przekształcanie ścieżki mogą zmieniać kształty z jednej ścieżki (określone jako android:valueFrom) do innej ścieżki (określonej jako android:valueTo), aby udostępnić złożone i atrakcyjne wizualnie elementy efekty. Interpolacja ścieżki umożliwia określenie interpolatorów dla funkcji AnimatedVectorDrawableCompat jako ścieżki (określone jako android:pathData w funkcji XML).

Różnice między interfejsami API

Rozwiązane problemy

  • Podczas łączenia się z usługą Media BrowserServiceCompat zerowy wyjątek wskaźnika
  • Interfejs API Media BrowserCompat.search() nie działa (problem AOSP 262170)
  • Wywołania zwrotne UploadFragment onItemClicked nie działają w wersji 25.3.0
  • NullPointerException podczas przewijania w górę i w dół w widoku VerticalGridView 25.3.1
  • ClassCastException w SimpleTrackMap.allocArrays()

Wersja 25.3.1

(Marzec 2017 r.)

Rozwiązane problemy

  • SwitchCompat wymaga minimalnego pakietu SDK wersji 14 lub nowszej. (numer AOSP: 251302)
  • Animacja oparta na fizyce (updateListener) pomija pierwszą klatkę.
  • Animacja etykiety BottomNavigationView jest uszkodzony.

Wersja 25.3.0

(Marzec 2017 r.)

Ważne zmiany

Metadane wersji Biblioteki pomocy zostaną automatycznie dodane do AndroidManifest.xml podczas tworzenia na podstawie Gradle, co upraszcza ten proces. śledzenia wersji w kompilacjach publicznych. Na przykład:

<meta-data android:name="android.support.VERSION" android:value="25.3.0" />

Wycofania

Wiele metod i klas zostało wycofanych z tej wersji. Te wycofane interfejsy API zostaną usunięte w przyszłej wersji, a deweloperzy powinni Więcej informacji na temat migracji z konkretnego interfejsu API znajdziesz w jego dokumentacji.

ExifInterface
Metoda logiczna getLatLong(float[]) został wycofany. Zamiast tego używaj nowej metody getLatLong(), , który nie przyjmuje argumentów i zwraca double[].
mediacompat
Metoda PlaybackStateCompat.Builder.setErrorMessage(CharSequence) została wycofana. Zamiast tego użyj nowej metody setErrorMessage(int, CharSequence), który jest przekazywany z kodem błędu i opcjonalnym opisem.
. Interfejs
EXTRA_SUGGESTION_KEYWORDS został wycofany. Zamiast tego użyj Funkcja wyszukiwania MediaBrowserCompat.
v7.recyclerview
Użytkownik LinearLayoutManager.getInitialItemPrefetchCount() został zmieniono nazwę na LinearLayoutManager.getInitialPrefetchItemCount(). Poprzednia nazwa jest nadal obsługiwana, ale w przyszłej wersji zostanie usunięta.

Nowe i zmodyfikowane interfejsy API

appcompat-v7
Nowa metoda ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean) upraszcza wyłączenie animacji ikony przełącznika szuflady nawigacji.
customtabs
Dodano obsługę kanałów wiadomości. Zobacz CustomTabsService.requestPostMessageChannel() oraz CustomTabsService.postMessage() .
dynamic-animation
Nowa biblioteka animacji oparta na fizyce, która udostępnia zestaw interfejsów API tworząc animacje, które dynamicznie reagują na dane wejściowe użytkownika.
leanback-v17
Dodano obsługę tła z paralaksą. Zobacz Parallax .
.
Dodano TimePicker widżet wyboru godziny w interfejsie TV.
mediacompat
Dodano funkcję wyszukiwania. Zobacz MediaBrowserCompat.search() oraz MediaBrowserServiceCompat.onSearch() .
.
Dodano obsługę trybów losowania i powtarzania. Zobacz MediaSessionCompat.setRepeatMode() oraz setShuffleModeEnabled() .

Rozwiązane problemy

Wersja 25.2.0

(Luty 2017 r.)

Ważne zmiany

Rozwiązane problemy

  • Ta wersja rozwiązuje poważny problem z mediarouterem, który polegał na używaniu interfejsu A2DP interfejsy API do routingu urządzeń i multimediów mogą spowodować, że urządzenie przestanie reagować wymagają ponownego uruchomienia urządzenia.
  • FragmentManager.FragmentLifecycleCallbacks klasa jest teraz statyczna.

Rozwiązane problemy

  • Wyświetlanie prezentacji ze slajdami z odbiciem lustrzanym ekranu powoduje, że urządzenie Zakończ połączenie z Wi-Fi
  • Przycisk multimediów nie obsługuje poprawnie aplikacji multimedialnych, które nie zostały zarejestrowane się z: setMediaButtonReceiver()
  • Błąd VectorDrawable dotyczący zasobu ciągu tekstowego (problem AOSP 232407)
  • TextInputLayout podpowiedź i tekst, jeśli tekst jest ustawiony przez kod XML (problem AOSP 230171)
  • Wyciek pamięci w: MediaControllerCompat (problem AOSP 231441).
  • RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback() ulegać awarii
  • RecyclerView awarii podczas recyklingu uchwyty wyświetlania (problem AOSP 225762)
  • getAllowGeneratedReplies() nieprawidłowo zwraca wartość fałsz dla działań wewnątrz WearableExtender

Wersja 25.1.1

(styczeń 2017 r.)

Ważne: w android.support.v7.media.MediaRouter jest znany błąd w wersjach 25.1.1 i 25.1.0 Biblioteki pomocy. Jeśli aplikacja używa MediaRouter v7, musisz zaktualizować bibliotekę pomocy do wersji 25.2.0, co naprawi błąd.

Ważne zmiany

  • Transakcje z fragmentami kodu można teraz optymalizować zarówno w obrębie domeny, jak i między nimi transakcji. Optymalizacja operacji na fragmentach transakcji może wyeliminować które mają zostać anulowane. Załóżmy na przykład, że dwie transakcje wykonywane razem: jeden z fragmentem A, a drugi – zastąpi fragment A fragmentem B. W tym przypadku pierwsza operacja można anulować i dodać tylko fragment B. Oznacza to, że fragment Może nie przejść przez cykl tworzenia/zniszczenia.

    Efektem ubocznym tej optymalizacji jest to, że fragmenty mogą mieć stan odbiega od oczekiwanej kolejności. Załóżmy na przykład, że jedna transakcja dodaje fragment A, drugi fragment B, a trzeci fragment usuwa fragment Odpowiedź: Bez optymalizacji fragment B może oczekiwać, że w trakcie utworzony, fragment A będzie również istniał, ponieważ fragment A zostanie usunięty po dodaniu fragmentu B. Po optymalizacji fragment B nie może mieć pewności że fragment A będzie istnieć podczas tworzenia elementu B, ponieważ fragment A proces tworzenia i zniszczenia może zostać usunięty w wyniku optymalizacji.

    Ta optymalizacja jest domyślnie wyłączona. Aby włączyć optymalizację: Zadzwoń pod numer FragmentTransaction.setAllowOptimization(true).

  • Fragmenty mogą teraz opóźniać przejścia i animacje, dopóki są gotowe do użycia: Fragment.postponeEnterTransition() i Fragment.startPostponedEnterTransition(). Ten interfejs API jest podobny do interfejsów Activity.postponeEnterTransition() i Activity.startPostponedEnterTransition() używanych z przenoszeniem aktywności.

Rozwiązane problemy

Wersja 25.1.0

(grudzień 2016 r.)

Ważne: w android.support.v7.media.MediaRouter jest znany błąd w wersjach 25.1.1 i 25.1.0 Biblioteki pomocy. Jeśli aplikacja używa MediaRouter v7, musisz zaktualizować bibliotekę pomocy do wersji 25.2.0, co naprawi błąd.

Ważne zmiany

  • Klienty zagnieżdżonych widżetów RecyclerView (na przykład w przypadku przewijanej pionowo listy poziomych list) można uzyskać dzięki wskazówkom RecyclerViewwewnętrznym menedżerom układu widżetów, ile do przygotowania przed przewinięciem ekranu. Zadzwoń do nas LinearLayoutManager.setInitialPrefetchItemCount(N), gdzie N to liczba obejrzeń każdego elementu wewnętrznego. Przykład: jeśli wewnętrzne, poziome listy pokazują co najmniej 3,5 wyświetleń elementu można zwiększyć skuteczność reklam, LinearLayoutManager.setInitialPrefetchItemCount(4) Robię to umożliwia usłudze RecyclerView tworzenie wszystkich wyświetleń odpowiednio wcześnie, podczas gdy zewnętrzna RecyclerView to przewijanie, co znacznie ogranicza liczbę zacinań przewija całą stronę.
  • FragmentActivity.setSupportMediaController() i FragmentActivity.getSupportMediaController() zostały wycofane. Użyj nowych statycznych MediaControllerCompat.setMediaController() i MediaControllerCompat.getMediaController(). .
  • Gdy klient określi odcień widżetu za pomocą odcieniania kompatybilności aplikacji (na przykład appcompat:buttonTint), klient jest odpowiedzialny za dostarczenie wszystkie niezbędne stany (np. „wyłączony”, „naciśnięty” itd.). To jest zgodne z określaniem odcieni widżetów podczas korzystania z funkcji zabarwienia platformy.

Nowe i zmodyfikowane interfejsy API

Rozwiązane problemy

  • Przełącznik widoczności hasła nie przejdzie testów ułatwień dostępu.
  • Aplikacja Appcompat nie respektuje state_enabled na urządzeniach w wersji wcześniejszej niż L.
  • Dodano mechanizm przywracania fokusu do aplikacji RecyclerView. To także stałe ustawienie obsługi fragmenty nie są wyświetlane podczas korzystania z nawigacji przy użyciu pada kierunkowego, np. w Androidzie TV. urządzenia.
  • Leanback: awarie ExploreFragment z wyłączonymi nagłówkami i pustym adapterem.
  • Zgodność z aplikacjami: AlertDialog jest za szeroki.
  • InputContentInfoCompat połączenia requestPermission(), gdy powinno wywołać funkcję releasePermission().
  • MediaBrowserCompat awarii.
  • CoordinatorLayout mierzy/układa widoki, gdy widoczność jest ustawiona na GONE
  • Nie udało się zastosować odcienia AnimatedVectorDrawableCompat na poziomie interfejsu API poniżej 24
  • Biblioteka Leanback aktywuje fałszywe błędy lintowania
  • Biblioteka palet spowodowała błędy testów na każdym poziomie interfejsu API
  • RecyclerView nieudane testy funkcji Leanback
  • RecyclerView awarii podczas recyklingu uchwyty wyświetlania (problem AOSP 225762)
  • Fragment.onDestroy() nie jest wymagane dla fragmentu w stosie wstecznym
  • Scrim CollapsingToolbarLayout to nierysowana po zwinięciu
  • CoordinatorLayout.offsetChildByInset() rzutu IllegalArgumentException
  • Odłączanie RecyclerView elementów wewnętrzne RecyclerView, zapobiegaj przyszłości pobierania z wyprzedzeniem
  • Nie można dodać RecyclerView załączonych elementów wstępnie pobrane zagnieżdżone
  • Pobieraj z wyprzedzeniem dane dla zagnieżdżonych typów RecyclerView Elementy odrzucone podczas pierwszego układu
  • Pobieranie z wyprzedzeniem (RecyclerView) kończy się niepowodzeniem, jeśli 2 przeciągnięcia zdarzenia pojawiają się na tej samej pozycji
  • RecyclerView powinna spekulować układ podczas renderowania przez RenderThread
  • Zasoby kolorów skonfigurowane w nocy przekonwertowane na obiekty rysowalne nie zawsze są prawidłowo usunięte z pamięci podręcznej zasobów
  • FloatingActionButton: Programowe ustawianie elementu BackgroundTintList nie działa prawidłowo (AOSP numer 227428)
  • TextInputLayout: krój pisma to nie Ustawianie dla ErrorView (problem AOSP 227803)
  • TextInputLayout zawsze cofa się podświetlenie koloru błędu poniżej API 23 (problem AOSP 221992)
  • FloatingActionButton wyświetla się jako naciśnięty, gdy wskaźnik odchodzi

Pełna lista publicznych poprawek błędów jest dostępna w AOSP Issue Tracker.

Wycofania

Wiele metod i klas zostało wycofanych z tej wersji. Te wycofane interfejsy API zostaną usunięte w przyszłej wersji, a deweloperzy powinni Więcej informacji na temat migracji z danego interfejsu API znajdziesz w jego dokumentacji.

Wersja 25.0.1

(listopad 2016 r.)

Rozwiązane problemy

Pełna lista publicznych poprawek błędów jest dostępna w AOSP Issue Tracker.

Wersja 25.0.0

(październik 2016 r.)

Ważne zmiany

  • Dotychczasowy konstruktor ContextCompat i chronimy. Ta klasa nie powinna być utworzona publicznie, ale może być rozszerzone o biblioteki pomocy kierowane na nowsze poziomy interfejsów API.
  • Utworzono konstruktor ActivityCompat i chronione. Ta klasa nie powinna być utworzona publicznie, ale może być rozszerzone o biblioteki pomocy kierowane na nowsze poziomy interfejsów API.
  • Dokonano: getReferrer(Activity) statyczny.
  • android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V) został(a) usunięty(a). Wszelkie implementacje tej metody u klientów powinny zostać usunięte.
  • android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object) został(a) usunięty(a). Użycie powinno być zastąpione wartością większą metoda o odpowiedniej nazwie fromMediaSession()
  • android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object) został usunięty. Użycie powinno być zastąpione bardziej adekwatnym metoda z nazwą MediaSessionCompat.QueueItem#fromQueueItem
  • android.support.v7.widget.Space został(a) usunięty(a). Zastosowania należy zastąpić kodem android.support.v4.widget.Space.

Nowe interfejsy API

  • android.support.design.widget.BottomNavigationView zajęcia implementuje metodę u dołu nawigacji ze specyfikacji Material Design.
  • Nowy pakiet android.support.v13.view.inputmethod zawiera zajęcia za dostęp do funkcji android.view.inputmethod.InputConnection wprowadzonych po interfejsie API poziom 13.
  • android.v7.widget.RecyclerView.DividerItemDecoration zajęcia stanowi podstawową implementację separatorów pionowych lub poziomych między elementy(ów).
  • Nowe style dekoracji w: android.support.v7.app.NotificationCompat, DecoratedCustomViewStyle i DecoratedMediaCustomViewStyle, powiela zajęcia dodane w API 24 platformy.

Rozwiązane problemy

Pełna lista publicznych poprawek błędów jest dostępna w AOSP Issue Tracker.

Wersja 24.2.1

Wrzesień 2016 r.

Rozwiązane problemy:

Pełna lista publicznych poprawek błędów jest dostępna w AOSP Issue Tracker.

Wersja 24.2.0

sierpniu 2016 r.

Wersja 24.2.0 zawiera te zmiany:

Uwaga: wersja 24.2.0 nie obsługuje już Android 2.2 (poziom interfejsu API 8) lub niższy. Klasy i metody, które istnieją tylko dla dla tych wersji systemu są teraz oznaczone jako wycofane i nie powinny już być i sposobu ich wykorzystania. Te wycofane klasy i metody mogą zostać w przyszłości usunięte wersji.

Podział biblioteki pomocy (wersja 4)

W tej wersji biblioteka pomocy dla wersji 4 zawiera została podzielona na kilka mniejszych modułów:

support-compat
Udostępnia kody zgodności nowych interfejsów API platformy, takich jak Context.getDrawable() i View.performAccessibilityAction()
support-core-utils
Udostępnia wiele klas narzędzi, takich jak AsyncTaskLoader i PermissionChecker.
support-core-ui
Implementuje różne komponenty związane z interfejsem, takie jak ViewPager, NestedScrollView i ExploreByTouchHelper.
support-media-compat
elementy bazowe platformy media, w tym MediaBrowser i MediaSession.
support-fragment
Dodaje fragment platformy. Ten moduł wymaga zależności od: support-compat, support-core-utils, support-core-ui i support-media-compat

Aby uzyskać zgodność wsteczną, jeśli w parametrze support-v4 skrypt Gradle, Twój plik APK będzie zawierał wszystkie te moduły. Jednak aby zmniejszyć Rozmiar pliku APK, zalecamy sporządzenie po prostu listy modułów, których potrzebuje aplikacja.

Aktualizacje interfejsu API

Zmiany w działaniu

  • Jeśli korzystasz z funkcji Dzień/Noc biblioteki Appcompat, system Teraz automatycznie odtwarza Twoją aktywność po każdej zmianie trybu dziennego/nocnego (z powodu pory dnia lub połączenia z numerem AppCompatDelegate.setLocalNightMode()).
  • Snackbar rysuje teraz za pasek nawigacyjny, jeśli pasek stanu jest półprzezroczysty.

Biblioteka MediaRouter

Urządzenia Bluetooth nie są już wymienione jako trasy multimediów. Kieruję dźwięk na: Urządzeniami Bluetooth steruje się teraz wyłącznie na poziomie systemu Android.

Wycofania

Wycofane klasy i metody mogą zostać usunięte w przyszłej wersji. Musisz jak najszybciej zrezygnować z tych interfejsów API.

  • Kilka metod z poniższych klas było wymaganych tylko w przypadku API 8 i niższy i nie powinien być już używany. Zamiast tego użyj platformy, implementacji.
    • android.support.v4.view.KeyEventCompat: zastąp tekstem KeyEvent
    • android.support.v4.view.MotionEventCompat: użyj MotionEvent
    • android.support.v4.view.ViewCompat: użyj View
    • android.support.v4.view.ViewConfigurationCompat: użyj ViewConfiguration
  • AccessibilityServiceInfoCompat.getDescription() została wycofana na rzecz AccessibilityServiceInfoCompat.loadDescription(), , który wyświetla poprawnie zlokalizowany opis.
  • Nie twórz instancji klasy ActivityCompat bezpośrednio. Niestatyczna metoda getReferrer(Activity) będzie stały się statyczne w kolejnej wersji.
  • Usługa CoordinatorLayout.Behavior.isDirty() została wycofana i nie jest już używana Wywołał(a) CoordinatorLayout. Dowolne należy usunąć wszystkie implementacje i wywołania tej metody.
  • Interfejs MediaSessionCompat.obtain() został wycofany i zastąpiony używając bardziej odpowiedniej metody fromMediaSession()
  • Ciąg MediaSessionCompat.QueueItem.obtain() został wycofany i zastąpiony przez tym bardziej precyzyjnie nazwana jest metoda, fromQueueItem()
  • Kilka klas abstrakcyjnych zostało wycofanych i zastąpionych przez które lepiej odzwierciedlają ich odpowiedniki w ramach platformy.
  • Interfejs CustomTabsSession.setToolbarItem() został wycofany i zastąpiony przez Oparta na zdalnym widoku danych setSecondaryToolbarViews().

Poprawki błędów

W wersji 24.2.0 poprawiliśmy te znane problemy:

  • Sprawdź, czy podczas wyświetlania wskaźnika SwipeRefreshLayout wyświetlany jest wskaźnik Pole setRefreshing(true) jest wywoływane przed pierwszym zaliczonym pomiarem (AOSP problem 77712)
  • Zapobiegaj migotaniu podczas zmiany stron w TabLayout (AOSP) problem 180454)
  • Unikaj: ClassNotFoundException podczas usuwania z serwisu SavedState na poziomie API 11 lub niższym (problem z AOSP 196430)

Pełna lista publicznych poprawek błędów jest dostępna w AOSP Issue Tracker.

Wersja 24.1.1

Lipiec 2016 roku

Rozwiązane problemy:

  • Rozwiązaliśmy problem w wersji 24.1.0, który miał wpływ na identyfikatory zasobów udostępniane między bibliotekami pomocy. Ten problem spowodował aplikacje, które zależą od obsługiwać biblioteki z zasobami (takimi jak projekt i kompatybilne z aplikacją) na problemy spowodowane niezgodnością identyfikatorów zasobów.

Wersja 24.1.0

Lipiec 2016 roku

Zmiany dotyczące obsługi wersji 4 Biblioteka:

Rozwiązane problemy:

Wersja 24.0.0

Czerwiec 2016

Zmiany dotyczące obsługi wersji 4 Biblioteka:
  • Dodano Fragment.commitNow() dla zatwierdzenia synchronicznego
  • Dodano NotificationCompat.MessagingStyle w przypadku rozmów z wieloma osobami
  • Dodano NotificationManagerCompat.areNotificationsEnabled() i getImportance()
  • MediaSessionCompat teraz odzwierciedla funkcje interfejsu MediaSession i nie wywołuje już automatycznie funkcji setMediaButtonReceiver()

Uwaga: tylko MediaBrowserServiceCompat w wersji 24.0.0 jest zgodne z przyszłymi wersjami Androida wykraczającymi poza interfejs API 24. Jeśli używasz poprzednich wersji, zaktualizuj je do zapewnić ich zgodność.

Zmiany w wersji 7 biblioteka appcompat:
  • Dodano obsługę odwoływania się do tematycznych obiektów ColorStateList z pliku XML
Zmiany w pomocy przy projektowaniu Biblioteka:
Zmiany w bibliotece Leanback v17:
  • Dodano OnboardingFragment w celu powitania przy pierwszym uruchomieniu i proces konfiguracji
Zmiany dotyczące kart niestandardowych:
  • Dodano obsługę podawania atrybutu RemoteViews hierarchia dodatkowego paska narzędzi
  • Dodano CustomTabsClient.connectAndInitialize() na jednowierszową rozgrzewkę

Wersja 23.4.0

Maj 2016 roku

Zmiany dotyczące obsługi wersji 4 Biblioteka:
  • Rozwiązaliśmy problem polegający na tym, że fragmenty były dodawane w niewłaściwej kolejności. (Problem 206901).
  • Rozwiązanie problemu polegającego na tym, że po przewinięciu strony pasek aplikacji nie był rysowany. (Problem 178037).
Zmiany w wersji 7 biblioteka appcompat:
Zmiany w pomocy przy projektowaniu Biblioteka:
Zmiany w bibliotece rysowalnej wektorowej:

Wersja 23.3.0

w kwietniu , 2016

Zmiany dotyczące obsługi wersji 4 Biblioteka:
  • Dodano AppLaunchChecker, aby pomóc w śledzeniu działania aplikacji została w przeszłości uruchomiona przez użytkownika. hasStartedFromLauncher() informuje, czy użytkownik uruchomiła aplikację wcześniej na ekranie głównym lub tylko rozpoczęte w inny sposób (np. w celu wyświetlenia określonej witryny adresy URL).
  • Naprawiono wyciek pamięci w MediaBrowserServiceCompat.mConnections (Problem 205220).
  • Rozwiązaliśmy problem, który powodował, że ViewPager nie uwzględnia marginesów strony podczas przewracania strony. (Problem 203816).
  • Aplikacja Fragment.onRequestPermissionsResult() jest teraz dostarczana do dziecka fragmenty.
Zmiany w wersji 7 biblioteka appcompat:
Zmiany w wersji 7 biblioteka mediarouter:
Zmiany preferencji dotyczących wersji 7 biblioteka:
Zmiany w wersji 7 biblioteka recyclerview:
Zmiany w pomocy przy projektowaniu Biblioteka:

Wersja 23.2.1

w marcu , 2016

Zmiany dotyczące obsługi wersji 4 Biblioteka:
Zmiany w wersji 7 biblioteka appcompat:
  • Przywrócono zależność od zasobów wektorowych, aby deweloperzy korzystający z metody zgodny z aplikacją biblioteka nie jest wymuszana przy użyciu interfejsu VectorDrawable ani powiązanych z nim flag kompilacji.
  • Rozwiązaliśmy problem ze zgodnością z trybem nocnym i interfejsem API na poziomie 23. (Problem 201910)
  • Wyeliminowaliśmy problem ze zgodnością z interfejsem SwitchCompat i interfejsem API poziomu 7. (Wydanie 201942)
  • Rozwiązaliśmy problem z propagacją wartości konfiguracyjnych w obiektach zasobów Wydanie 201928
  • Rozwiązaliśmy problem ze zgodnością, który powodował, że interfejs android.support.v7.app.NotificationCompat.MediaStyle przycisk anulowania staje się niewidoczny na poziomie interfejsu API 21 i mniej. (Wydanie 202156)
  • Naprawiono awarię związaną ze zgodnością z interfejsem AppCompatSpinner w interfejsie API na poziomie 21 i niższym. (wydanie 202246)
  • Rozwiązaliśmy problem, który powodował, że styl app:textAllCaps = "false" nie działał w naszej pracy. (Wydanie 202117)
  • Naprawiono błąd, który występował podczas przywracania pliku SearchView. (Problem 201836)
  • Naprawiono wyciek pamięci, który występował podczas kolorowania zasobów rysowalnych przy użyciu AppCompat. (Wydanie 202379)
  • Usunięto problem z funkcją KeyEvent w interfejsie API na poziomie 11 oraz obniżysz się. (Wydanie 202939)
Zmiany w widoku kart w wersji 7 biblioteka:
Zmiany w wersji 7 biblioteka recyclerview:
Zmiany w wersji 7 biblioteka mediarouter:
Zmiany w wersji v17 Biblioteka Leanback:
  • Rozwiązaliśmy problem z usługą GridLayout.onAddFocusables(), w którym spowodował wybór niewłaściwego elementu.
  • Rozwiązaliśmy problem z GuidedStepFragment działaniami znika po zwinięciu działania.
Zmiany w pomocy przy projektowaniu Biblioteka:
Zmiany w VectorDrawableCompat:
  • Naprawiliśmy błąd polegający na tym, że w polu android:tintMode odczytywana była niewłaściwa zmienna. (Problem 201907)

Wersja 23.2.0

Luty , 2016

Zmiany w bibliotece pomocy do wersji 4:
  • Dodano MediaBrowserCompat w przypadku pomocy dotyczącej MediaBrowser i MediaBrowserServiceCompat w przypadku pomocy MediaBrowserService. To jest przydatne gdy łączysz usługę w tle aplikacji multimedialnej z komponentami interfejsu, oraz integrację z Androidem Auto i Androidem Wear bez konieczności Interfejs API na poziomie 21 lub wyższym.
  • System wywołuje teraz adres onActivityResult(), aby uzyskać zagnieżdżona wartość FragmentActivity.
Zmiany w AppCompat w wersji 7 biblioteka:
  • Dodaliśmy funkcję trybu nocnego do interfejsu API na poziomie 14 i nowszych. Przejdź między elementami Material Design ciemne motywy jasne i materiałowe zależnie od pory dnia lub ustawienia aplikacji.
    • Motywy dzienne i nocne znajdziesz tutaj: <sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml
    • AppCompatDelegate.setDefaultNightMode(): ustawia do domyślnego trybu aplikacji, przekazując jedną z tych stałych:
      • MODE_NIGHT_AUTO
      • MODE_NIGHT_NO
      • MODE_NIGHT_YES
      • MODE_NIGHT_FOLLOW_SYSTEM
    • AppCompatDelegate.setLocalNightMode(): zastąpienia na ustawienie trybu nocnego dla lokalnego komponentu aplikacji.
    • AppCompatDelegate.getDefaultNightMode(): zwroty na domyślny tryb nocny.
Zmiany dla mediaroutera v7 biblioteka:
Zmiany dotyczące biblioteki pomocy dotyczącej projektowania:
  • Dodano obsługę u dołu strony arkusze. Wtyczka do interakcji, BottomSheetBehavior, pozwala, by widok podrzędny elementu CoordinatorLayout działał jako planszę dolną. Klasa bazowa BottomSheetCallback zapewnia wywołań zwrotnych do monitorowania zdarzeń na planszy dolnej.
Zmiany dotyczące obsługi kart niestandardowych biblioteka:
  • Chrome, Karty niestandardowe mogą teraz dodawać do aplikacji pasek z możliwością działania obok istniejącego górnego przycisku polecenia.
  • CustomTabsIntent.Builder.addToolBarItem(): dodaje działanie na kartę niestandardową. Za jego pomocą możesz dodać wiele przycisków.
  • CustomTabsSession.setToolBarItem(): aktualizuje elementy wizualne dla elementów paska narzędzi. Ta metoda jest skuteczna tylko wtedy, gdy podano prawidłowy identyfikator, a sesja przeglądarki jest na pierwszym planie.
Dodano bibliotekę pomocy VectorDrawable:
  • Dodane zajęcia:
    • VectorDrawableCompat
    • AnimatedVectorDrawableCompat
  • Dodaje do aplikacji obsługę zasobów typu VectorDrawable uruchomiony na poziomie API 7 lub wyższym. Zasoby: AnimatedVectorDrawable są również obsługiwane na poziomie API 11 lub wyższym. Komponenty wektorowe mogą być są znacznie mniejsze niż komponenty z obrazem i powinny ograniczyć przez zmniejszenie liczby zasobów wymaganych do obsługi wielu ekranów urządzeń.
  • Ta biblioteka jest teraz zależnością biblioteki AppCompat w wersji 7, co umożliwia deweloperzy i AppCompat łatwo rysować obiekty wektorowe. Aby używać VectorDrawableCompat w aplikacji ImageButton lub ImageView, użyj kodu XML app:srcCompat lub setImageResource() .
  • Aby nadal odwoływać się do identyfikatorów atrybutów na poziomie interfejsu API 20 lub niższy, dodaj tę flagę appt do pliku build,gradle:
    • Jeśli tworzysz kompilację za pomocą wtyczki Androida do Gradle w wersji 1.5.0 lub niższy, dodaj do pliku build.gradle te informacje:
    • android {
        defaultConfig {
          // Stops the Gradle’s automatic rasterization of vectors
          generatedDensities = []
        }
         // Flag that tells aapt to keep the attribute ids
        aaptOptions {
          additionalParameters "--no-version-vectors"
        }
      }
      
    • Jeśli tworzysz kompilację za pomocą wtyczki Androida do Gradle 2.0.0 lub wyżej, do pliku build.gradle dodaj te elementy:
    • android {
        defaultConfig {
          vectorDrawables.useSupportLibrary = true
        }
      }
      
Zmiany dla v17 Leanback Biblioteka:
  • Do aplikacji GuidedStepFragment dodano nowe funkcje, który umożliwia użytkownikom podjęcie decyzji lub serię decyzji:
    • Do elementu GuidedAction dodano działania przycisku:
      • GuidedStepFragment.setButtonActions(): ustawia listę Przyciski GuidedAction, które który użytkownik może wybrać w widoku Działania.
    • Pola opisu można teraz edytować:
      • GuidedAction.Builder.descriptionEditable(): po zaliczeniu true ustawia opis działania z możliwością edycji.
      • GuidedAction.getEditDescription(): zwraca wartość, którą można edytować. jako CharSequence.
    • Dodano menu działań podrzędnych:
      • GuidedAction.setSubActions(): ustawia listę GuidedAction jako menu rozwijane. w menu działań podrzędnych.
  • Dodano widżet GuidedDatePickerAction do funkcji DatePicker:
    • Data jest wybierana w kolumnach roku, miesiąca i dnia oraz zawiera zakresu, który można dostosować.
    • GuidedDatePickerAction.Builder: klasa konstruktora obiektu GuidedDatePickerAction.
    • GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat): ustaw odpowiedni format daty, przekazując parametr odpowiedni trzyznakowy String, np. “YMD” lub “MDY”. Możesz też użyć atrybutu XML datePickerFormat.
Zmiany w narzędziu RecyclerView w wersji 7 biblioteka:
  • Aplikacja RecyclerView może teraz wyrazić zgodę funkcja AutoMeasure, która umożliwia RecyclerView.LayoutManager łatwe zawijanie lub obsługiwać różne specyfikacje pomiarowe dostarczane przez element nadrzędny elementu RecyclerView. it obsługuje wszystkie istniejące funkcje animacji RecyclerView.
    • Jeśli masz niestandardowy RecyclerView.LayoutManager, Zadzwoń pod numer setAutoMeasureEnabled(true), aby zacząć korzystać z nowego AutoMeasure API. Wszystkie wbudowane obiekty RecyclerView.LayoutManager domyślnie włączyć automatyczny pomiar.
    • RecyclerView.LayoutManager nie ignoruje już niektórych ustawień typu RecyclerView.LayoutParams, na przykład MATCH_PARENT w kierunku przewijania.

      Uwaga: zniesione ograniczenia mogą powodować, nieoczekiwane zachowanie układów. Wpisz z prawidłowymi parametrami układu.

  • Podczas aktualizowania obiektu RecyclerView.ViewHolder za pomocą ładunku informacje, DefaultItemAnimator teraz wyłącza animacje zmian.
  • Możesz teraz zmienić prędkość ucieczki ItemTouchHelper do kontrolować czułość przesuwania. Aby ułatwić lub utrudnić przesunięcie palcem, zastąp getSwipeEscapeVelocity(float defaultValue) i zmodyfikuj defaultValue.

Wersja 23.1.1

listopadzie 2015 r.

Zmiany w bibliotece Recyclerview w wersji 7:
  • Usunięto awarię, która występowała przy przesuwaniu palcem po ekranie, by zamknąć Klasa narzędziowa ItemTouchHelper udostępnia element, a następnie dodaj element. (Numer 190500)
Zmiany w bibliotece preferencji wersji 7:
Zmiany w bibliotece pomocy Leanback w wersji 17:
  • Naprawiono kilka błędów wewnętrznych w tej bibliotece.
Zmiany w bibliotece pomocy dotyczącej projektowania:
  • Do klasy NavigationView dodano metodę getHeaderView.
  • Usunięto problem z przezroczystym tłem obiektu FloatingActionButton w na urządzeniach z Androidem 4.0 (poziom interfejsu API 15) lub starszym. (Numer 183315)

Wersja 23.1.0

październiku 2015 r.

Zmiany w bibliotece pomocy w wersji 4:
  • Dodano obsługę interfejsu OnScrollChangedListener do Widżet NestedScrollView. it umożliwia odbieranie wywołań zwrotnych, gdy przewijają się pozycje X lub Y.
  • Dodano klasę MediaButtonReceiver do przekazywania otrzymanych elementów sterujących odtwarzaniem z usługą, która zarządza klasą MediaSessionCompat. MediaSessionCompat zajęcia ma który automatycznie znajduje odbiornik przycisku multimedialnego w pliku manifestu. O odbiornik przycisku multimedialnego to kluczowy element obsługi elementy sterujące odtwarzaniem za pomocą elementów sprzętowych lub elementów sterujących Bluetooth.
Zmiany w bibliotece appcompat w wersji 7:
  • Dodano widżety interfejsu Material Design Seekbar i ImageButton.
  • Zaktualizowano widżet ImageView, aby obsługiwał funkcję odcienia.
  • Zaktualizowano wygląd i sposób działania widżetu SwitchCompat.
Zmiany w bibliotece mediaroutera v7:
  • Do klasy MediaRouteChooserDialog dodano te funkcje:
    • Wyświetla stronę wczytywania podczas odkrywania dostawców tras multimediów.
    • Zawiera ikonę typu urządzenia, która ułatwia jego identyfikację.
    • Sortuje trasy zgodnie z częstotliwością ich używania w bieżącej aplikacji.
    • Obsługuje tryb poziomy.
  • Do klasy MediaRouteControllerDialog dodano te funkcje:
    • Rozpoznaje przesyłanie ekranu i podaje prawidłowy opis.
    • Obsługuje okładki albumów o różnych rozmiarach i formatach obrazu i wczytuje grafikę asynchronicznie.
    • Automatycznie wybiera kolor treści na podstawie głównego koloru aplikacji.
    • Dostosowuje układ okien do miejsca dostępnego na urządzeniu.
    • Obsługuje tryb poziomy.
Zmiany w bibliotece palety wersji 7:
  • Dodano metodę setRegion(), która umożliwia wyodrębnianie koloru z konkretnego w regionie obiektu Bitmap.
Zmiany w bibliotece Recyclerview w wersji 7:
  • Do klasy ItemAnimator dodaliśmy ulepszony interfejs API animacji, aby ulepszyć dostosowania:
    • Animacje zmian nie wymuszają już 2 kopii obiektu ViewHolder, co umożliwia korzystanie z animacji zawartości elementów. Oprócz tego obiekt ItemAnimator decyduje, czy chce ponownie użyć tego samego obiektu ViewHolder, czy utworzyć nowy.
    • Nowy interfejs API rekordów informacyjnych zapewnia klasie ItemAnimator elastyczność. aby zbierać dane w odpowiednim punkcie cyklu życia szablonu. Ta informacja jest późniejsza przekazywane do animowanych wywołań zwrotnych.
  • Przedstawiono plan łatwego przejścia w przypadku tej niezgodnej wstecznie zmiany interfejsu API:
    • Jeśli zajęcia ItemAnimator zostały już przez Ciebie przedłużone, możesz zmienić klasy podstawowej do SimpleItemAnimator, a Twój kod powinien działać tak jak wcześniej. Klasa SimpleItemAnimator udostępnia stary interfejs API przez opakowanie nowego interfejsu API.
    • Niektóre metody zostały usunięte z klasy ItemAnimator. Poniżej kod nie będzie już skompilowany:
    • Kotlin

      recyclerView.itemAnimator.supportsChangeAnimations = false
      

      Java

      recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
      

      Możesz go zastąpić kodem:

      Kotlin

      val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator
      animator?.supportsChangeAnimations = false
      

      Java

      ItemAnimator animator = recyclerView.getItemAnimator();
      if (animator instanceof SimpleItemAnimator) {
         ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
      }
      
Zmiany w wersji 7, v14 oraz Biblioteka obsługi preferencji na potrzeby wersji 17:
  • Usunęliśmy interfejsy API do kontrolowania okien EditText.
Zmiany w bibliotece pomocy Leanback w wersji 17:
  • Dodaliśmy wersję klasy GuidedStepFragment do biblioteki pomocy (rozszerza android.support.v4.app.Fragment) oraz poprawione animacje i przejścia.
  • Zaktualizowano klasę GuidedStepFragment, tak aby można było umieścić ją nad: istniejących treści.
  • Dodaliśmy możliwość dodawania adnotacji do różnych typów wyszukiwań w SearchFragment zajęcia.
  • Dodano obsługę przesuwania przesuwania palcem w elemencie VerticalGridFragment. zajęcia.
Zmiany w bibliotece pomocy dotyczącej projektowania:
  • Dodano liczenie znaków w widżecie TextInputLayout.
  • Do klasy AppBarLayout dodano obsługę przyciągania do krawędzi przez dodanie parametru stała SCROLL_FLAG_SNAP. Po zakończeniu przewijania, jeśli widok częściowo widoczne, widok zostanie przyciągnięty i przewinięty do najbliższej krawędzi.
  • Do klasy NavigationView dodaliśmy obsługę widoków niestandardowych przy użyciu interfejsu Atrybut app:actionLayout lub MenuItemCompat.setActionView() .
Zmiany w bibliotece obsługi kart niestandardowych:
  • Metoda enableUrlBarHiding() została dodana do metody CustomTabsIntent. zajęcia. Umożliwia klientowi określenie, czy pasek adresu URL powinien być ukrywany automatycznie przy przewijaniu w dół.
  • Metoda setActionButton() została dodana do metody CustomTabsSession. zajęcia. Dzięki temu klient zmienić ikonę przycisku polecenia niestandardowego na już uruchomionej karcie niestandardowej.
  • Dodano stałe TAB_SHOWN i TAB_HIDDEN jako nowe zdarzenia dla metody onNavigationEvent algorytmu CustomTabsCallback zajęcia.

Wersja 23.0.1

Wrzesień 2015 r.

Zmiany w wersjach 7 i Biblioteka obsługi preferencji v14:
Zmiany w bibliotece appcompat w wersji 7:
  • Rozwiązaliśmy problemy powodujące awarie w klasie Fragment przez ograniczenie użycia warstw sprzętowych do Androida 4.1 (poziom interfejsu API 16) lub nowszego. (Numer 183896)
  • Rozwiązaliśmy problem, który powodował, że przyciski sprzętowe nie działały, gdy aktywność ustawiała Toolbar klasa, która ma działać jako ActionBar za pomocą metody setSupportActionBar(). (Numer 183334)
  • Zajęcia AppCompatDialogFragment zostały zaktualizowane, nie rzuca już Windows feature must be requested before adding content . (Numer 183186)
Zmiany w bibliotece pomocy dotyczącej projektowania:
Zmiany w bibliotece obsługi kart niestandardowych:

Wersja 23

Sierpień 2015

Dodano nowe biblioteki pomocy:

Pełną listę zmian w Bibliotece pomocy znajdziesz w Pomoc techniczna Raport Różnice w interfejsie Library API

Wersja 22.2.1

lipcu 2015 r.

Zmiany w bibliotece pomocy dotyczącej projektowania:
  • Dodano metody hide() i show() do metody FloatingActionButton zajęcia dotyczące automatyzacji wyzwalanie animacji.
  • Stałą LENGTH_INDEFINITE dodano do elementu Snackbar klasa za wyświetlanie paska powiadomień do chwili jego zamknięcia lub wyświetlenia kolejnego paska powiadomień. Ponadto dodaliśmy setActionTextColor(int) i setActionTextColor(ColorStateList) .
  • Metoda getSelectedTabPosition() została dodana do metody TabLayout klasa za pobranie bieżącej wartości wybranej karty.
  • Udostępniliśmy w pełni wydajny interfejs API dla android.support.v7.app.NotificationCompat.MediaStyle klasa dla metody tworzyć łańcuchy.
  • Dodaliśmy do sekcji RecyclerView za wstawianie elementów zbiorczo.

Pełną listę zmian w Bibliotece pomocy znajdziesz w Pomoc techniczna Raport Różnice w interfejsie Library API

Wersja 22.2.0

Maj 2015 r.

Dodano bibliotekę pomocy dotyczącej projektowania:
  • Dodano TextInputLayout do wyświetlania Wskazówka EditText i tekst błędu w formie etykiet pływających.
  • Dodano FloatingActionButton za zaimplementowanie jako główne działanie w interfejsie jako pływający przycisk polecenia, który obsługuje rozmiar domyślny lub mini.
  • Dodano Snackbar, aby zwiększyć przydatność z opcjonalnym działaniem na animowanym pasku powiadomień.
  • Dodano dyrektywę TabLayout za wdrożenie poprawek i z możliwością przewijania tabulatorów. integracja z ViewPager
  • Dodano NavigationView do implementacji panel nawigacji w tym możliwość rozwijania pozycji menu za pomocą Zasób menu.
  • Dodano CoordinatorLayout (uniwersalnego) Układ używany do tworzenia zależności między widok równorzędny i umożliwia łatwe przewijanie treści między komponentami CoordinatorLayout.Behavior Wiele wzorów Komponenty bibliotek są podrzędne wobec CoordinatorLayout
  • Dodano AppBarLayout, kontener dla Toolbar i inne widoki danych (np. TabLayout) dla reagowanie na przewijane zdarzenia przez przewijanie poza ekran, stając się w reakcji lub zwijanie/odwijanie przed przewijaniem w dół albo na ekranie.
  • Dodano CollapsingToolbarLayout do sterowania jak zwija się element Toolbar. Pasek narzędzi może być zwijany przez: przypinanie komponentów na górze ekranu podczas jego zwijania, dzięki czemu przewijanie paralaksy komponentów takich jak ImageView, lub dodanie koloru siatki treści, gdy widok jest częściowo zwinięty.
Zmiany w bibliotece pomocy do wersji 4:
Zmiany w bibliotece appcompat w wersji 7:

Pełną listę zmian w Bibliotece pomocy znajdziesz w Pomoc techniczna Raport Różnice w interfejsie Library API

Wersja 22.1.0

Kwiecień 2015

Zmiany w bibliotece adnotacji:
  • Dodaliśmy bibliotekę Adnotacje, aby umożliwić obsługę rozszerzonych inspekcji kodu. Adnotacje są dodawane jako tagi metadanych dołączane do zmiennych, parametrów, i zwracają wartości w celu sprawdzenia zwracanych wartości, przekazanych parametrów i parametrów lokalnych zmiennych i pól.
Zmiany w bibliotece pomocy do wersji 4:
Zmiany w bibliotece appcompat w wersji 7:
Zmiany dotyczące biblioteki funkcji v17 Leanback:
Zmiany w bibliotece Recyclerview w wersji 7:
Zmiany w bibliotece renderscript v8:

Wersja 22

Marzec 2015 r.

Zmiany w bibliotece pomocy do wersji 4:
Zmiany w bibliotece appcompat w wersji 7:
Zmiany dotyczące biblioteki funkcji v17 Leanback:
  • Dodano getRecycledPoolSize() i setRecycledPoolSize() metody zezwalające na niestandardowe rozmiary pul z recyklingu.
  • Dodano atrybut WRAP_CONTENT do ustawienie szerokości układu, aby umożliwić obsługę opakowanych treści w przypadku ikon tytułów.
  • Zdefiniowano R.transition w pliku XML do ulepszyć aktualizacje dotyczące przejścia.
  • Włączono obsługę układów od prawej do lewej.
  • Dodano obsługę kluczowych zdarzeń związanych z odtwarzaniem i wstrzymywaniem multimediów PlaybackOverlayFragment zajęcia.
  • Do interfejsu API dodano przejścia typu „Enter i Return” BrowseFragment i DetailsFragment zajęcia.
  • Dodano metodę replace() służącą do zastępowania elementów w tablicy adaptera obiektu.
Zmiany w bibliotece mediaroutera v7:
Zmiany w bibliotece Recyclerview w wersji 7:

Wersja 21.0.3

Grudzień 2014

Zmiany w bibliotece pomocy do wersji 4:

Wersja 21.0.2

listopadzie 2014 r.

Zmiany w bibliotece pomocy do wersji 4:
Zmiany w bibliotece appcompat w wersji 7:
  • Dodano konstruktor PopupMenu do obsługi nowego wyskakującego okienka menu.
  • Dodano obsługę opisu ikony zwijania w elemencie Toolbar zajęcia.
  • Zaktualizowano widżet SearchView, aby obsługiwał wyświetlanie commitIcon.
  • Usunięto atrybut buttonGravity z Toolbar zajęcia.
Zmiany w bibliotece Cardview w wersji 7:
Zmiany w widoku Recyclerview w wersji 7 biblioteka:
Zmiany dotyczące biblioteki funkcji v17 Leanback:
  • Dodano obsługę generowania fragmentów kodu w wersji 4.
  • Zmieniono dodatkowy kolor tekstu w tabeli CardView.

Wersja 21.0.1

listopadzie 2014 r.

Dodane biblioteki obsługi multidex, aby obsługiwać wiele Pliki wykonywalne (DEX) Dalvik w celu uzyskania obsługi plików Multi-Dex w wersjach starszych niż Android 5.0.

Wersja 21

Październik 2014

Zmiany w bibliotece pomocy do wersji 4:
  • Dodano obsługę języka Fragment przejścia na urządzenia z Androidem 5.0 (poziom interfejsu API 21). Pamiętaj, że przejścia nie mają wpływu na uruchomione urządzenia Android 4.4 lub starszy.
  • Dodano poziom DocumentFile do wygładzania przejście z File podczas pracy z drzewami dokumentów. Klasa wymaga jednak, większy nakład pracy w porównaniu do Dodano DocumentsContract interfejs API Android 4.4 (poziom API 19). W przypadku Androida 4.4 zalecamy korzystanie z DocumentsContract. i wyższe.
Zmiany w przypadku kompatybilności aplikacji w wersji 7 biblioteka:
  • Dodano obsługę materiałów do projektowania.
  • Dodano funkcję Toolbar, która powoduje uogólnienie funkcje ActionBar w w układach aplikacji.
  • Zaktualizowano ActionBarDrawerToggle, który zawiera animację przesuwania się menu po strzałkę
  • Zaktualizowano typowe widżety interfejsu, aby umożliwić zmianę odcieni za pomocą motywu w przypadku urządzeń z systemem starszym niż Android 5.0.
  • Dodano backend SwitchCompat widżetu Switch dodanego w Android 4.0 (poziom API 14).
Nowa biblioteka Card View w wersji 7:
  • Dodaliśmy widżet CardView, który zapewnia implementację zgodną z Material Design, elementów danych.
Nowy recyclerview w wersji 7 biblioteka:
  • Dodano widżet RecyclerView. który zapewnia elastyczny widok listy z ograniczonym okresem w duży zbiór danych.
Nowa biblioteka palet w wersji 7:
  • Dodano Palette zajęcia, który pozwala wyodrębnić z obrazu dominujące kolory.
Nowa biblioteka Leanback v17:

Wersja 20

Lipiec 2014

Zmiany w bibliotece pomocy do wersji 4:
  • Dodano rozszerzoną obsługę powiadomień na Androidzie Wear w NotificationCompat.WearableExtender, która umożliwia Ci aby określić funkcje urządzenia do noszenia w powiadomieniach.
  • Dodano NotificationCompat.Action.WearableExtender, który umożliwia dodawanie działań na powiadomieniach na urządzeniu do noszenia.
  • Dodano NotificationManagerCompat, który umożliwia Ci aby wysyłać powiadomienia obsługujące funkcje do noszenia.
  • Dodano RemoteInput, który obsługuje urządzenia mobilne aby odbierać głosowe wprowadzanie tekstu z powiadomienia, które wyświetla się na urządzeniu do noszenia.
  • Poprawiono obsługę potwierdzeń dotyku w SwipeRefreshLayout

Wersja 19.1.0

Marzec 2014

Zmiany w bibliotece pomocy do wersji 4:
  • Dodano zajęcia SwipeRefreshLayout, który umożliwia użytkownikom odświeżanie zawartości widoku według kategorii gest przesunięcia.
  • Rozwiązaliśmy problemy z ułatwieniami dostępu w szufladach nawigacji.
Zmiany w bibliotece appcompat w wersji 7:
  • Rozwiązaliśmy problemy z paskiem działań w tle.

Wersja 19.0.1

Grudzień 2013 r.

Zmiany w bibliotece pomocy do wersji 4:
Zmiany w bibliotece mediaroutera v7:
Zmiany w bibliotece renderscript v8
  • Dodano propagację błędów dla warstwy thunkingu RenderScript.

Wersja 19

Październik 2013

Zmiany w bibliotece pomocy do wersji 4:
Zmiany w bibliotece mediaroutera v7:
  • Dodano obsługę kolejkowania multimediów, ustawiania wartości nagłówków HTTP i multimediów czas odtwarzania.
  • Dodano konkretne działania rozpoczęcia, pobierania i zakończenia sesji do jawnego zarządzania multimediami w trakcie sesji odtwarzania przy użyciu routera multimediów.

Wersja 18

Lipiec 2013

Zmiany w bibliotece pomocy do wersji 4:
  • Interfejs
    • Dodano BidiFormatter do obsługi ciągi tekstowe łączące tekst w formacie od prawej do lewej oraz od lewej do prawej.
    • Zmodyfikowano ViewPager, aby lepiej obsługiwać przypadki, w których przy wstępnym przetwarzaniu układu zmierzona szerokość strony tego elementu wynosi zero.
    • Zmodyfikowane DrawerLayout i SlidingPaneLayout, aby nie zgłaszać wyjątków dla: podczas edytowania kodu projektu.
  • Ułatwienia dostępu
  • Multimedia
    • Dodano TransportMediator klasę pomocniczą do zarządzania sterowanie przesyłaniem multimediów, w tym odtwarzanie, wstrzymywanie i pomijanie oraz inne działania związane z multimediami.
    • Dodano: DisplayManagerCompat na potrzeby zarządzania aby wyświetlać dane wyjściowe na co najmniej jednym urządzeniu.
  • Inne zmiany
Nowa biblioteka aplikacji w wersji 7:
Nowa biblioteka mediarouterów v7:

Dodaliśmy nową bibliotekę mediarouter, która obsługuje wersję przedpremierową Google Cast dla programistów. Interfejsy API biblioteki Mediarouter v7 umożliwiają kontrolowanie routingu kanałów multimedialnych i strumieni z bieżącego urządzenia na ekrany zewnętrzne, i inne urządzenia docelowe, tak by były zgodne z Androidem 2.1 (poziom API 7). Zobacz wersja 7 mediarouter

Interfejsy API biblioteki mediarouter v7 wprowadzone w Pomocy Biblioteka r18 może ulec zmianie w późniejszych wersjach Pomocy. Biblioteka. Obecnie zalecamy korzystanie z biblioteki tylko w połączeniu dzięki technologii Google Cast wersji deweloperskiej.

Wersja 13

Maj 2013 r.

Zmiany w bibliotece pomocy do wersji 4:
Nowa biblioteka układów siatki w wersji 7:
  • Dodano GridLayout, aby uzyskać wsparcie Obiekt układu GridLayout.
  • Dodano android.support.v7.widget.Space, którego można używać do tworzenia pustych obszarów w obiekcie układu GridLayout.

Wersja 12

Luty 2013

Zmiany w bibliotece pomocy do wersji 4:
  • Poprawiono zachowanie związane z interakcją w aplikacji ViewPager.
  • Naprawiliśmy błąd, który powodował, że ViewPager wybierał niewłaściwa strona.
  • Naprawiono użycie metody removeView() dla układu strony ViewPager.
  • Rozwiązaliśmy problem z SearchViewCompat, w którym używanie przycisk Wstecz do zamknięcia nie powoduje wyczyszczenia wyszukiwanego tekstu. Ta poprawka dotyczy tylko interfejsu API hosta na poziomie 14 lub wyższym.

Wersja 11

Listopad 2012

Zmiany w bibliotece pomocy do wersji 4:

Wersja 10

Sierpień 2012

Zmiany w bibliotece pomocy do wersji 4:
  • Dodaliśmy obsługę funkcji powiadomień wprowadzonych w Androidzie 4.1 (poziom API 16) z dodano do NotificationCompat.

Wersja 9

Czerwiec 2012

Zmiany w bibliotece pomocy do wersji 4:
  • Pomoc dotycząca interfejsu użytkownika
    • Dodano obsługę PagerTabStrip, co zwiększa skuteczność funkcje wykraczające poza PagerTitleStrip.
    • Naprawiliśmy różne błędy w wersjach PagerTitleStrip i PagerTabStrip, w tym opcja setAllCaps, wyrównanie tytułu, ulepszenia wyglądu, ograniczenia minimalnej szerokości i problemy z nawigacją dotykową.
    • Dodaliśmy obsługę rynien strony (ViewPager), pomaga klasie ViewPager obsługiwać stronicowanie treści z dużego poziomego zakresu przewijania, np. mapy.
    • Naprawiliśmy wiele błędów dotyczących zasobu ViewPager, w tym dotyczących rozmiaru problemy ze zmianą zbioru danych, pozycjonowanie strony, interakcja użytkownika, śledzenie przewijania i klawiatura problemy z nawigacją.
    • Naprawiliśmy wiele błędów dotyczących aplikacji Fragment, w tym prawidłowe obsługa polecenia onActivityResult(), gdy fragment docelowy już nie istnieje, wysyłanie zdarzeń wyboru do niewidocznych fragmentów, poprawione Działanie funkcji FragmentTransaction.replace() poprawiliśmy obsługę stanów w przypadku fragmentów usuwanych z widoku.
    • Dodano obsługę metody postOnAnimation() w ViewCompat.
    • Zaktualizowano NavUtils, aby korzystać z Androida 4.1 (poziom API 16) Funkcja nawigacji w górę, jeśli jest dostępna.
  • Ułatwienia dostępu
    • Zaktualizowaliśmy klasy pomocy dotyczące ułatwień dostępu, w tym AccessibilityNodeInfoCompat, aby dostosować je do poprawek wprowadzonych w Androidzie 4.1 (poziom interfejsu API 16).
    • Dodano obsługę czynności przewijania ułatwień dostępu w ViewPager.
  • Ogólne ulepszenia

Wersja 8

Kwiecień 2012

Zmiany w bibliotece pomocy do wersji 4:
  • Poprawiono flagi intencji PendingIntent obiektu autor: TaskStackBuilder.
  • Usunęliśmy nieużywane atrybuty z projektów biblioteki siatki, aby upewnić się, bibliotekę można utworzyć przy użyciu interfejsu API na poziomie 7 lub wyższym.
  • Dodano pliki .classpath i .project do układu siatki w projekcie bibliotecznym.

Wersja 7

Marzec 2012 r.

Zmiany w bibliotece pomocy do wersji 4:
  • Dodano klasę ShareCompat, która udostępnia klasy pomocnicze do wysyłania i odbierania treści w aplikacjach do udostępniania społecznościowego, w tym nowych metadanych przypisywanie udostępnionych danych do aplikacji źródłowej. Klasy te zapewniają także zgodną integrację z ShareActionProvider w Androidzie 4.0.
  • Dodano NavUtils i TaskStackBuilder, aby pomóc w implementacji Wskazówki dotyczące nawigacji w narzędziu Android Design. Te między innymi można umieścić przycisk w górę na pasku działań. Żeby zobaczyć przykład implementacji tego wzorca, zobacz przykład AppNavigation w (<em><sdk></em>/samples/<em><platform></em>/AppNavigation).
  • Dodano NotificationCompat.Builder, aby podać implementacja klasy pomocniczej Notification.Builder w Androidzie 3.0 do tworzenia ustandaryzowanych powiadomień systemowych.

Wersja 6

Grudzień 2011

Uwaga: odniesienia do interfejsów API biblioteki pomocy są teraz dostępne w: odwołują się do platformy, na przykład: android.support.v4.app.

Zmiany w bibliotece pomocy do wersji 4:
  • Zmiany w funkcji ViewPager:
    • Dodano dodatkową obsługę widoku dekoracyjnego w ViewPager. Widoki dekoracyjne mogą być dostarczane jako widoki podrzędne pagera w układzie XML.
    • Dodano PagerAdapter.getPageTitle() do podawania ciągów tytułów stron. Domyślna wartość to „nie” tytuł każdej strony.
    • Dodano nieinteraktywny tytuł PagerTitleStrip który można dodać jako element podrzędny elementu ViewPager. Deweloperzy mogą dodawać tekst wygląd i kolorystykę, a także rozmiar układu i informacje o grawitacji.
    • Zaktualizowano PagerAdapter metody przechwytywania ViewGroup obiektów, a nie View, aby uniknąć przesyłania klas w implementacjach adaptera.
    • Zaktualizowano aplikację ViewPager, aby korzystała z funkcji jak w Menu z aplikacjami w scenie.
    • Poprawki błędów związanych z interakcją z interfejsem i automatyzacją testów.
  • Obsługa fragmentów:
    • Zmieniono metodę setStartDeferred() na setUserVisibleHint(boolean).
    • Dodaliśmy odroczony start w przypadku stron poza ekranem, aby zwiększyć wydajność.
  • Obsługa interfejsów Accessibility API:
    • Zaktualizowano AccessibilityDelegateCompat metody zwraca puste listy zamiast wartości null.
    • Dodano nowe interfejsy API wymagane przez przykłady w wersji 4.

Wersja 5

Grudzień 2011

Zmiany w bibliotece pomocy do wersji 4:

Wersja 4

Październik 2011

Zmiany w bibliotece pomocy do wersji 4:
  • Użytkownik EdgeEffectCompat został dodany do listy Obsługuj EdgeEffect.
  • Dodano LocalBroadcastManager, aby ułatwić aplikacjom rejestrować i odbierać intencje w ramach jednej aplikacji bez i udostępnia je na całym świecie.
  • W grze ViewCompat dodano obsługę sprawdzania i ustawiania dalekiego przewijania w systemach View na Androidzie 2.3 i nowszych.
  • Zmiany w interfejsach API Fragment:
    • Dodaliśmy nowe interfejsy API do kontrolowania widoczności nowych menu.
    • Dodano interfejsy API do animacji niestandardowych.
    • Dodano interfejsy API w FragmentActivity, aby zachować niestandardowe, danych instancji innych niż konfiguracja.
    • Poprawki różnych błędów.
  • Naprawiliśmy błąd (Loader), który powodował problemy w anulowanie AsyncTask s w przypadku uruchomienia w Froyo i starszych do obsługi różnych wersji platformy. Zespół pomocy kod korzysta teraz z własnej wersji atrybutu AsyncTask, aby zachować na wszystkich wersjach platformy.

Wersja 3

Lipiec 2011

Zmiany w bibliotece pomocy do wersji 4:
  • Obsługuje pole Fragment.SavedState
  • Dodaje MotionEventCompat, aby obsługiwać nowsze interfejsy API MotionEvent
  • Dodaje VelocityTrackerCompat, aby obsługiwać nowsze interfejsy API VelocityTracker
  • Dodaje ViewConfigurationCompat, aby obsługiwać nowsze interfejsy API ViewConfiguration
  • Wszystkie nowe interfejsy API (dostępne tylko w bibliotece pomocy), które umożliwiają tworzenie UI z podziałem na strony w poziomie, który umożliwia przewijanie zawartości w lewo i w prawo. Zajęcia dla obsługują m.in.:
    • ViewPager: ViewGroup, który zarządza układ dla widoków podrzędnych, między którymi użytkownik może przesuwać palcem.
    • PagerAdapter: adapter, który wypełnia ViewPager wartością wyświetlenia, które reprezentują każdą stronę.
    • FragmentPagerAdapter: rozszerzenie PagerAdapter do odwracania między fragmentami.
    • FragmentStatePagerAdapter: rozszerzenie PagerAdapter dla domeny przełączanie fragmentów, które korzystają z obsługi Fragment.SavedState w bibliotece.
Nowa biblioteka pomocy do wersji 13:
  • W tym FragmentPagerAdapter i FragmentStatePagerAdapter do obsługi stronicowania w poziomie.

    Są one dokładnie takie same jak interfejsy API dodane do biblioteki pomocy dla wersji 4, ale opierają się innych składników platformy w Androidzie 3.2. Używaj tej biblioteki zamiast wersji 4, jeśli tworzysz Android 3.2 i nowsze (wszystkie pozostałe interfejsy API w bibliotece v4 są już dostępne na poziomie API) 13)

Wersja 2

Maj 2011

Zmiany w bibliotece w wersji 4:

Wersja 1

Marzec 2011 r.

Pierwsza wersja z biblioteką w wersji 4.