Uwaga: w wersji Androida 9.0 (poziom interfejsu API 28) udostępniamy nową wersję biblioteki pomocy o nazwie AndroidX, która jest częścią usługi Jetpack.
Biblioteka AndroidX zawiera istniejącą bibliotekę pomocy i najnowsze komponenty Jetpack.
Możesz nadal korzystać z biblioteki pomocy.
Historyczne artefakty (w wersji 27 i starszych i spakowane jako android.support.*
) pozostaną dostępne w Google Maven. Wszystkie nowe projekty będą jednak odbywać się w bibliotece AndroidX.
Zalecamy używanie bibliotek AndroidX we wszystkich nowych projektach. Rozważ też migrację istniejących projektów na AndroidaX.
Biblioteki pomocy udostępniają szeroki zakres klas tworzenia aplikacji, od podstawowych komponentów aplikacji przez widżety interfejsu użytkownika, obsługę multimediów i komponenty aplikacji na telewizory. Wiele klas to implementacje zgodne wstecznie, ale niektóre z nich stanowią same w sobie nowe funkcje.
Ten dokument zawiera omówienie ważnych kategorii funkcji dostępnych w bibliotece pomocy oraz konkretnych klas, które warto znać podczas tworzenia aplikacji.
Informacje o dodawaniu kodu biblioteki pomocy do projektu, z którego utworzysz aplikację, znajdziesz w artykule o konfigurowaniu biblioteki pomocy. Informacje o tym, jak uwzględnić w projekcie określone pakiety bibliotek pomocy, znajdziesz w artykule Pakiety bibliotek pomocy technicznej.
Komponenty aplikacji
Te klasy Biblioteki pomocy zapewniają zgodne wsteczne implementacje ważnych, podstawowych funkcji platformy. Takie implementacje zwykle rozszerzają wcześniejsze wersje klasy, aby obsługiwać nowe metody i funkcje dodane w nowszych wersjach platformy. Niektóre z tych klas to kompletne, statyczne implementacje interfejsów API platformy.
- Działania
ActivityCompat
– zawiera zgodną wstecznie implementację na potrzeby ostatnich kluczowych funkcji działań, takich jak uprawnienia środowiska wykonawczego czy przejścia animacji.FragmentActivity
– zapewnia wsteczną implementację interfejsów APIFragment
iLoader
z bibliotekami pomocniczymi.AppCompatActivity
– na starszych urządzeniach dostępne są motywy kolorystyczne Material, kolory widżetów i pasek aplikacji. Użycie tych zajęć wymaga użycia motywówTheme.AppCompat
dla spójnej prezentacji wizualnej.
Fragment
– udostępnia samodzielną implementację klasyFragment
platformy. Tej klasy należy używać zFragmentActivity
.ContextCompat
– zapewnia obsługę funkcji wprowadzonych w nowszych wersjach klasyContext
, takich jak obsługa uprawnień, dostęp do plików i informacje o kolorach.IntentCompat
– zapewnia obsługę funkcji wprowadzonych w nowszych wersjach klasyIntent
, w tym metod wybierania i uruchamiania określonych działań.Loader
– udostępnia statyczną implementację klasyLoader
platformy i jest klasą bazową klas pomocyAsyncTaskLoader
orazCursorLoader
.Preference
– ta klasa i jej klasy podrzędne udostępniają implementacje interfejsu ustawień aplikacji w sposób zgodny wstecznie.ContentResolverCompat
– zapewnia obsługę funkcji wprowadzonych w nowszych wersjach klasyContentResolver
, a w szczególności metodyquery()
z obsługą anulowania zapytania w toku.
Interfejs
Te klasy biblioteki pomocy udostępniają implementacje kluczowych widżetów i zachowań interfejsu użytkownika oraz pomagają tworzyć bardziej nowoczesne interfejsy aplikacji na wcześniejszych urządzeniach. Kilka z tych widżetów jest dostępnych tylko w bibliotece pomocy.
Kontenery układu do zwykłych obciążeń
Te klasy pomocy udostępniają kontenery interfejsu, które można dostosowywać do różnych zastosowań projektowych.
RecyclerView
– tworzy układ do wyświetlania długich list z użyciem strategii unikania dużego zużycia pamięci. Ta klasa umożliwia tworzenie widoku z ograniczonym oknem na większy zbiór danych, co pozwala uniknąć zużywania dużej ilości pamięci podczas wyświetlania listy. Więcej informacji o korzystaniu zRecyclerView
znajdziesz w przewodniku Widok RecyclerView.ViewPager
– udostępnia układ, który pozwala użytkownikom przełączać się między stronami danych.GridLayout
– udostępnia układ z elementami podrzędnymi w prostokątnej siatce, który obsługuje dowolne rozpiętości sąsiadujących komórek i elastyczny rozkład przestrzeni. Ta klasa udostępnia zgodną wstecznie wersję klasyGridLayout
wprowadzonej w Androidzie 4.0 (poziom interfejsu API 14).PercentFrameLayout
iPercentRelativeLayout
– dodaj układy, które obsługują wymiary i marginesy określone procentowo w przypadku wyświetleń i treści podrzędnych.
Uwaga: zajęcia ViewPager
, RecyclerView
, PercentFrameLayout
i PercentRelativeLayout
są dostępne tylko w bibliotekach pomocy.
Kontenery o specjalnym układzie
Te klasy pomocy zapewniają zgodne implementacje określonych wzorców układu, takie jak widoki szuflad pobierane od krawędzi ekranu, przesuwane panele czy zagnieżdżone listy na listach.
DrawerLayout
– tworzy układ, który umożliwia pobieranie z krawędzi okna widoku interaktywnych widoków panelu.SlidingPaneLayout
– zapewnia poziomy układ z wieloma panelami do użycia na najwyższym poziomie interfejsu aplikacji. Umożliwia on tworzenie układów, które można płynnie dostosowywać do różnych rozmiarów ekranów, rozwijać się na większych ekranach i zwijać, aby zmieścić się na mniejszych ekranach.NestedScrollView
– przewijany układ, który obsługuje zagnieżdżanie innych widoków przewijania, co umożliwia tworzenie list z elementami zawierającymi dodatkowe listy podrzędne. Te zagnieżdżone listy mogą zawierać elementy przewijane w poziomie lub w pionie niezależnie od listy nadrzędnej.SwipeRefreshLayout
– udostępnia układ umożliwiający odświeżanie danych list lub innych układów przez przesuwanie palcem.
Widoki, okna i widżety
Biblioteki pomocy udostępniają wiele klas do wyświetlania treści i udostępniania w układzie elementów interaktywnych.
CardView
– niestandardowa klasa biblioteki pomocy do tworzenia kart displayowych w stylu Material Design. Ta klasa jest oparta na układzie Frame Layouts z zaokrąglonymi narożnikami i cieniem.AppCompatDialogFragment
– okno dialogowe ma spójny styl dzięki rozszerzeniuDialogFragment
i użyciu interfejsuAppCompatDialog
.NotificationCompat
– zapewnia obsługę nowszych stylów powiadomień w sposób zgodny wstecznie.SearchView
– udostępnia klasę, która pozwala użytkownikowi na wpisanie zapytania i przesłanie żądania do dostawcy wyszukiwania. Ta funkcja jest przeznaczona przede wszystkim na pasku aplikacji.
Material Design
Biblioteki pomocy udostępniają wiele klas do wdrażania rekomendacji interfejsu Material Design.
CoordinatorLayout
– udostępnia kontener najwyższego poziomu dla układów zawierających komponenty i sposób działania Material Design. Tej klasy można też używać jako kontenera do określonej interakcji z co najmniej jednym widokiem podrzędnym.AppBarLayout
– implementuje wiele funkcji przewijania paska aplikacji w stylu Material Design.FloatingActionButton
– tworzy pływający przycisk wyświetlający specjalny typ promowanego działania. Ten element interfejsu Material Design ma postać koła unoszącego się nad interfejsem aplikacji. Więcej informacji znajdziesz w artykule Dodawanie pływającego przycisku polecenia.DrawerLayout
– tworzy panel nawigacji, czyli panel interfejsu, który wyświetla główne menu nawigacyjne aplikacji. Wyświetla się, gdy użytkownik przesunie palcem od lewej krawędzi ekranu lub kliknie ikonę szuflady na pasku aplikacji. Więcej informacji znajdziesz w artykule Tworzenie panelu nawigacji.TabLayout
– określa układ stron z kartami. Ten widżet jest przeznaczony do użytku z klasąViewPager
.Snackbar
– udostępnia widżet do wyświetlania prostych opinii na temat operacji w wyskakującym okienku na pasku powiadomień.
Grafika
Pakiet android.support.graphics.drawable
obsługuje elementy rysowalne wektorowe.
Używając elementów rysowalnych wektorowych, możesz zastąpić wiele zasobów PNG jedną grafiką wektorową definiowaną w pliku XML.
VectorDrawableCompat
obsługuje obiekty rysowalne wektorowe w interfejsie API na poziomie 9 i wyższym. AnimatedVectorDrawableCompat
obsługuje elementy rysowalne wektorowe w formie animowanych elementów w interfejsie API na poziomie 11 i wyższym.
Ułatwienia dostępu
Pakiet android.support.v4.view.accessibility
udostępnia klasy zgodności do wdrażania funkcji ułatwień dostępu wprowadzonych na poziomie API 14 i nowszych. Umożliwiają one usługom ułatwień dostępu obserwację i identyfikację interakcji użytkowników z elementami wyświetlanymi na ekranie.
ExploreByTouchHelper
– zapewnia obsługę ułatwień dostępu w niestandardowym widoku danych, który reprezentuje zbiór elementów logicznych przypominających widok.
Odtwarzanie multimediów
Biblioteka pomocy Androida udostępnia backend funkcji routera multimediów dla urządzeń z Androidem w wersji starszej niż 4.1 (poziom interfejsu API 16). Te klasy pozwalają sterować odtwarzaniem multimediów na połączonych urządzeniach z Androidem:
MediaRouter
– umożliwia aplikacjom sterowanie routingiem kanałów multimedialnych i strumieni z bieżącego urządzenia do zewnętrznych głośników i urządzeń docelowych.MediaControllerCompat
– zezwala aplikacji na interakcję z trwającą sesją multimediów. Aplikacje mogą udostępniać przyciski sterowania multimediami za pomocą tego mechanizmu oraz wysyłać do sesji inne polecenia odtwarzania.MediaSessionCompat
– interfejs zdalnego sterowania do odtwarzania multimediów, umożliwiający interakcję z kontrolerami multimediów, przyciskami głośności, przyciskami multimediów oraz elementami sterującymi transportu w innych aplikacjach lub na osobnych urządzeniach.
Aplikacje TV
Pakiet Android SDK udostępnia biblioteki obsługi formatów takich jak duże ekrany i powiązane z nimi kontrolery. Aplikacja może korzystać z odpowiedniej biblioteki pomocy, aby działać na wielu platformach i dostarczać treści na zewnętrznych ekranach, głośnikach i innych urządzeniach docelowych.
- Pakiety android.support.v17.leanback.*
Aplikacje na Wear
Pakiet Android SDK zawiera biblioteki obsługi zegarków. Biblioteki te udostępniają funkcje aplikacji, które są dostępne dla użytkowników noszących zegarki.
- Pakiety android.support.wear.*
Narzędzia
Biblioteka pomocy Androida oferuje wiele funkcji, które nie są wbudowane w platformę. Biblioteki te zawierają wiele narzędzi, z których mogą korzystać aplikacje.
- Pakiet android.support.v4.util