Przewodnik po funkcjach biblioteki pomocy

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
  • Fragment – udostępnia samodzielną implementację klasy Fragment platformy. Tej klasy należy używać z FragmentActivity.
  • ContextCompat – zapewnia obsługę funkcji wprowadzonych w nowszych wersjach klasy Context, takich jak obsługa uprawnień, dostęp do plików i informacje o kolorach.
  • IntentCompat – zapewnia obsługę funkcji wprowadzonych w nowszych wersjach klasy Intent, w tym metod wybierania i uruchamiania określonych działań.
  • Loader – udostępnia statyczną implementację klasy Loader platformy i jest klasą bazową klas pomocy AsyncTaskLoader oraz CursorLoader.
  • 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 klasy ContentResolver, a w szczególności metody query() 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 z RecyclerView 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ę klasy GridLayout wprowadzonej w Androidzie 4.0 (poziom interfejsu API 14).
  • PercentFrameLayout i PercentRelativeLayout – 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 rozszerzeniu DialogFragment i użyciu interfejsu AppCompatDialog.
  • 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.

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.

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.