Udostępnij za pośrednictwem


Funkcje lollipop

Ten artykuł zawiera ogólne omówienie nowych funkcji wprowadzonych w systemie Android 5.0 (Lollipop). Te funkcje obejmują nowy styl interfejsu użytkownika o nazwie Motyw materiału, a także nowe funkcje pomocnicze, takie jak animacje, cienie widoku i odcień z możliwością rysowania. System Android 5.0 obejmuje również ulepszone powiadomienia, dwa nowe widżety interfejsu użytkownika, nowy harmonogram zadań i kilka nowych interfejsów API w celu poprawy magazynu, sieci, łączności i funkcji multimedialnych.

Lollipop — omówienie

Android 5.0 (Lollipop) wprowadza nowy język projektowania, Material Design i z nim pomocniczą obsadę nowych funkcji, aby ułatwić i bardziej intuicyjne korzystanie z aplikacji. Z Material Design, Android 5.0 nie tylko daje telefony z androidem lifting; udostępnia również nowy zestaw reguł projektowania dla tabletów z systemem Android, komputerów stacjonarnych, zegarków i inteligentnych telewizorów. Te reguły projektowania podkreślają prostotę i minimalizm podczas korzystania z znanych atrybutów dotykowych (takich jak realistyczna powierzchnia i wskazówki krawędzi), aby ułatwić użytkownikom szybkie i intuicyjne zrozumienie interfejsu.

Material Theme to ucieleśnienie tych zasad projektowania interfejsu użytkownika w systemie Android. Ten artykuł rozpoczyna się od osłaniania funkcji pomocniczych motywu materiału:

  • Animacje — animacje opinii dotykowej, animacje przejścia działań, animacje przejścia stanu wyświetlania i efekt odsłaniania.

  • Wyświetl cienie i podniesienie uprawnień — widoki mają elevation teraz właściwość; widoki z wyższymi elevation wartościami rzucają większe cienie na tle.

  • Funkcje kolorów — odcień z możliwością rysowania umożliwia ponowne używanie zasobów obrazów przez zmianę ich koloru, a wyodrębnianie wybitnych kolorów ułatwia dynamiczne motywowanie aplikacji na podstawie kolorów na obrazie.

Wiele funkcji motywu materiałów jest już wbudowanych w środowisko interfejsu użytkownika systemu Android 5.0, podczas gdy inne muszą zostać jawnie dodane do aplikacji. Na przykład niektóre standardowe widoki (takie jak przyciski) zawierają już animacje opinii dotykowej, podczas gdy aplikacje muszą włączać większość widoków w tle.

Oprócz ulepszeń interfejsu użytkownika wprowadzonych za pomocą motywu materialnego system Android 5.0 zawiera również kilka innych nowych funkcji, które zostały omówione w tym artykule:

  • Rozszerzone powiadomienia — powiadomienia w systemie Android 5.0 zostały znacząco zaktualizowane o nowy wygląd, obsługę powiadomień na ekranie blokady i nowy format prezentacji powiadomień head-up .

  • Nowe widżety interfejsu użytkownika — nowy RecyclerView widżet ułatwia aplikacjom przekazywanie dużych zestawów danych i złożonych informacji, a nowy CardView widżet udostępnia uproszczony format prezentacji przypominający kartę do wyświetlania tekstu i obrazów.

  • Nowe interfejsy API — system Android 5.0 dodaje nowe interfejsy API do obsługi wielu sieci, ulepszoną łączność Bluetooth, łatwiejsze zarządzanie magazynem i bardziej elastyczną kontrolę nad odtwarzaczami multimedialnymi i urządzeniami fotograficznymi. Nowa funkcja planowania zadań jest dostępna do uruchamiania zadań asynchronicznie w zaplanowanych godzinach. Ta funkcja pomaga poprawić żywotność baterii, np. planowanie zadań, które mają być wykonywane, gdy urządzenie jest podłączone i ładowane.

Wymagania

Do korzystania z nowych funkcji systemu Android 5.0 w aplikacjach opartych na platformie Xamarin wymagane są następujące elementy:

  • Xamarin.Android — program Xamarin.Android 4.20 lub nowszy musi być zainstalowany i skonfigurowany przy użyciu programu Visual Studio lub Visual Studio dla komputerów Mac.

  • Zestaw Android SDK — system Android 5.0 (interfejs API 21) lub nowszy musi być zainstalowany za pośrednictwem Menedżera zestawu ANDROID SDK.

  • Java Developer Kit — zestaw Xamarin.Android wymaga zestawu JDK 1.8 lub nowszego, jeśli programujesz na potrzeby interfejsu API na poziomie 24 lub nowszym (zestaw JDK 1.8 obsługuje również poziomy interfejsu API starsze niż 24, w tym Lollipop). Wersja 64-bitowa zestawu JDK 1.8 jest wymagana, jeśli używasz kontrolek niestandardowych lub podglądu formularzy.

Możesz nadal używać zestawu JDK 1.7 , jeśli programujesz specjalnie dla poziomu interfejsu API 23 lub starszego.

Konfigurowanie projektu systemu Android 5.0

Aby utworzyć projekt systemu Android 5.0, należy zainstalować najnowsze narzędzia i pakiety zestawu SDK. Wykonaj następujące kroki, aby skonfigurować projekt platformy Xamarin.Android przeznaczony dla systemu Android 5.0:

  1. Zainstaluj narzędzia platformy Xamarin.Android i aktywuj licencję platformy Xamarin. Aby uzyskać więcej informacji na temat instalowania platformy Xamarin.Android, zobacz Setup and Installation (Instalacja i instalacja), aby uzyskać więcej informacji na temat instalowania platformy Xamarin.Android.

  2. Jeśli używasz Visual Studio dla komputerów Mac, zainstaluj najnowsze aktualizacje systemu Android 5.0.

  3. Uruchom Menedżera zestawu Android SDK (w Visual Studio dla komputerów Mac użyj narzędzia > Open Android SDK Manager...) i zainstaluj narzędzia Android SDK Tools 23.0.5 lub nowsze:

    Selecting Android SDK tools in the Android SDK Manager

    Ponadto zainstaluj najnowsze pakiety zestawu ANDROID 5.0 SDK (interfejs API 21 lub nowszy):

    Installing Android 5.0 SDK packages in the Android SDK Manager

    Aby uzyskać więcej informacji na temat korzystania z menedżera zestawu ANDROID SDK, zobacz Menedżer zestawów SDK.

  4. Utwórz nowy projekt platformy Xamarin.Android. Jeśli dopiero zaczynasz programować aplikacje dla systemu Android za pomocą platformy Xamarin, zobacz Hello, Android, aby dowiedzieć się więcej o tworzeniu projektów systemu Android . Podczas tworzenia projektu systemu Android należy skonfigurować ustawienia wersji dla systemu Android 5.0. W Visual Studio dla komputerów Mac przejdź do obszaru Kompilacja ogólna opcji >> projektu i ustaw platformę docelową na Android 5.0 (Lollipop) lub nowszą:

    Setting the Target Framwework to Android 5.0 Lollipop

    W obszarze Opcje > projektu Kompiluj > aplikację systemu Android ustaw minimalną i docelową wersję systemu Android na Wartość Automatyczna — użyj wersji platformy docelowej:

    Setting the Minimum and Target Android versions to Automatic

  5. Skonfiguruj emulator lub urządzenie z systemem Android, aby przetestować aplikację. Jeśli używasz emulatora, zobacz Konfiguracja emulatora systemu Android, aby dowiedzieć się, jak skonfigurować emulator systemu Android do użycia z programem Xamarin Studio lub Visual Studio. Jeśli używasz urządzenia z systemem Android, zobacz Konfigurowanie zestawu SDK w wersji zapoznawczej, aby dowiedzieć się, jak zaktualizować urządzenie dla systemu Android 5.0. Aby skonfigurować urządzenie z systemem Android do uruchamiania i debugowania aplikacji platformy Xamarin.Android, zobacz Konfigurowanie urządzenia na potrzeby programowania.

Uwaga: jeśli aktualizujesz istniejący projekt systemu Android przeznaczony dla systemu Android L Preview, musisz zaktualizować wersję platformy docelowej i systemu Android do wartości opisanych powyżej.

Ważne zmiany

Wcześniej opublikowane aplikacje dla systemu Android mogą mieć wpływ na zmiany w systemie Android 5.0. W szczególności system Android 5.0 używa nowego środowiska uruchomieniowego i znacznie zmienionego formatu powiadomień.

Środowisko uruchomieniowe systemu Android

System Android 5.0 używa nowego środowiska uruchomieniowego systemu Android (ART) jako domyślnego środowiska uruchomieniowego zamiast Dalvik. Art implementuje kilka głównych nowych funkcji:

  • Kompilacja przed czasem (AOT) — funkcja AOT może zwiększyć wydajność aplikacji, kompilując kod aplikacji przed pierwszym uruchomieniem aplikacji. Po zainstalowaniu aplikacji aplikacja ART generuje skompilowany plik wykonywalny aplikacji dla urządzenia docelowego.

  • Ulepszone odzyskiwanie pamięci (GC) — ulepszenia GC w usłudze ART mogą również zwiększyć wydajność aplikacji. Odzyskiwanie pamięci używa teraz jednej pauzy GC zamiast dwóch, a równoczesne operacje GC są wykonywane w bardziej terminowy sposób.

  • Ulepszone debugowanie aplikacji — artykuł ART zawiera bardziej szczegółowe informacje diagnostyczne ułatwiające analizowanie wyjątków i raportów o awariach.

Istniejące aplikacje powinny działać bez zmian w art — z wyjątkiem aplikacji, które wykorzystują techniki unikatowe dla poprzedniego środowiska uruchomieniowego Dalvik, które mogą nie działać w obszarze ART. Aby uzyskać więcej informacji na temat tych zmian, zobacz Weryfikowanie zachowania aplikacji w środowisku uruchomieniowym systemu Android (ART).

Zmiany powiadomień

Powiadomienia znacznie się zmieniły w systemie Android 5.0:

  • Dźwięki i wibracje są obsługiwane inaczej — dźwięki i wibracje powiadomień są teraz obsługiwane przez Notification.Builder zamiast Ringtone, MediaPlayeri Vibrator.

  • Nowy schemat kolorów — zgodnie z motywem materiału powiadomienia są renderowane z ciemnym tekstem na białych lub bardzo jasnych tłach. Ponadto kanały alfa w ikonach powiadomień mogą być modyfikowane przez system Android w celu koordynowania schematów kolorów systemu.

  • Powiadomienia na ekranie blokady — powiadomienia mogą teraz być wyświetlane na ekranie blokady urządzenia.

  • Head-up — powiadomienia o wysokim priorytcie są teraz wyświetlane w małym przestawnym oknie (powiadomienie head-up) po odblokowaniu urządzenia i włączeniu ekranu.

W większości przypadków przenoszenie istniejących funkcji powiadomień aplikacji do systemu Android 5.0 wymaga wykonania następujących czynności:

  1. Przekonwertuj kod na użycie Notification.Builder (lub NotificationsCompat.Builder) na potrzeby tworzenia powiadomień.

  2. Sprawdź, czy istniejące zasoby powiadomień są widoczne w nowym schemacie kolorów motywu materiału.

  3. Zdecyduj, jaką widoczność powinny mieć powiadomienia po wyświetleniu ich na ekranie blokady. Jeśli powiadomienie nie jest publiczne, jaka zawartość powinna być wyświetlana na ekranie blokady?

  4. Ustaw kategorię powiadomień, aby były one poprawnie obsługiwane w nowym trybie Android 5.0 Nie przeszkadzać .

Jeśli powiadomienia przedstawiają kontrolki transportu, wyświetl stan odtwarzania multimediów, użyj polecenia RemoteControlClientlub wywołaj metodę ActivityManager.GetRecentTasks.

Aby uzyskać informacje na temat tworzenia powiadomień w systemie Android, zobacz Powiadomienia lokalne.

Motyw materiału

Nowy motyw materiałowy systemu Android 5.0 oferuje zamiatanie zmian wyglądu i działania interfejsu użytkownika systemu Android. Elementy wizualne używają teraz dotykowych powierzchni, które przyjmują pogrubioną grafikę, typografię i jasne kolory projektu opartego na wydruku. Przykłady motywu materiału przedstawiono na poniższych zrzutach ekranu:

Screenshots of Material Theme Home Screen, Apps Screen, and Setting Screen

System Android 5.0 wita Cię z ekranem głównym wyświetlanym po lewej stronie. Środkowy zrzut ekranu to pierwszy ekran listy aplikacji, a zrzut ekranu po prawej stronie to ekran Ustawienia. Specyfikacja projektu Material Design firmy Google wyjaśnia podstawowe reguły projektowania za nową koncepcją motywu materialnego.

Motyw materiału zawiera trzy wbudowane smaki, których można użyć w aplikacji: Theme.Material ciemny motyw (ustawienie domyślne), Theme.Material.Light motyw i Theme.Material.Light.DarkActionBar motyw:

Screenshots of Dark, Light, and DarkActionBar themes

Aby uzyskać więcej informacji na temat korzystania z funkcji motywu materiału w aplikacjach platformy Xamarin.Android, zobacz Temat materiału.

Animacje

System Android 5.0 udostępnia animacje z opiniami dotykowymi, animacje przejścia działań i animacje przejścia stanu w celu zwiększenia intuicyjnego użycia interfejsów aplikacji. Ponadto aplikacje systemu Android 5.0 mogą używać animacji odsłaniania efektu w celu ukrycia lub wyświetlenia widoków. Możesz użyć ustawień zakrzywionych ruchu , aby skonfigurować szybkość lub powolne renderowanie animacji.

Animacje z opiniami dotykowymi

Animacje z opiniami dotykowymi zapewniają użytkownikom wizualne opinie po dotknięciu widoku. Na przykład przyciski wyświetlają teraz efekt falowania po dotknięciu — jest to domyślna animacja opinii dotykowej w systemie Android 5.0. Animacja Ripple jest implementowana przez nową RippleDrawable klasę. Efekt falowania można skonfigurować tak, aby kończyć się granicami widoku lub wykraczać poza granice widoku. Na przykład następująca sekwencja zrzutów ekranu ilustruje efekt falowania w przycisku podczas animacji dotykowej:

Frame by frame screenshots of ripple animation on a button

Początkowy kontakt dotykowy z przyciskiem występuje na pierwszym obrazie po lewej stronie, podczas gdy pozostała sekwencja (od lewej do prawej) ilustruje, jak efekt falowania rozprzestrzenia się na krawędź przycisku. Po zakończeniu animacji tętnienia widok powraca do oryginalnego wyglądu. Domyślna animacja tętnienia odbywa się w ułamku sekundy, ale długość animacji można dostosować przez dłuższy lub krótszy czas.

Aby uzyskać więcej informacji na temat animacji z opiniami dotykowymi w systemie Android 5.0, zobacz Dostosowywanie opinii dotykowych.

Animacje przejścia działań

Animacje przejścia działań zapewniają użytkownikom poczucie ciągłości wizualnej, gdy jedno działanie przechodzi do innego. Aplikacje mogą określać trzy typy animacji przejścia:

  • Enter transition — w przypadku, gdy działanie wchodzi w scenę.

  • Przejście zakończenia — w przypadku, gdy działanie kończy scenę.

  • Przejście elementu współużytkowanego — w przypadku, gdy widok wspólny dla dwóch działań zmienia się w miarę przejścia pierwszego działania do następnego.

Na przykład następująca sekwencja zrzutów ekranu ilustruje przejście elementu udostępnionego:

Frame by frame screenshots of a shared element transition animation

Element wspólny (zdjęcie caterpillar) jest jednym z kilku widoków w pierwszej działaniu; powiększa się, aby stać się jedynym widokiem w drugim działaniu, ponieważ pierwsze działanie przechodzi do drugiego.

Wprowadzanie typów animacji przejścia

W przypadku przejść w systemie Android 5.0 dostępne są trzy typy animacji:

  • Eksploduj animację — powiększa widok z środka sceny.

  • Animacja slajdów — przenosi widok z jednej z krawędzi sceny.

  • Animacja Fade — zanika widok na scenę.

Kończ typy animacji przejścia

W przypadku przejść zakończenia system Android 5.0 udostępnia trzy typy animacji:

  • Eksploduj animację — zmniejsza widok do środka sceny.

  • Animacja slajdów — przenosi widok do jednej z krawędzi sceny.

  • Animacja Fade — zanika widok z sceny.

Udostępnione typy animacji przejścia elementów

Przejścia elementów udostępnionych obsługują wiele typów animacji, takich jak:

  • Zmiana układu lub ograniczeń wycinków widoku.

  • Zmiana skali i obrotu widoku.

  • Zmiana rozmiaru i typu skalowania dla widoku.

Aby uzyskać więcej informacji na temat animacji przejścia działań w systemie Android 5.0, zobacz Dostosowywanie przejść działań.

Wyświetlanie animacji przejścia stanu

System Android 5.0 umożliwia uruchamianie animacji po zmianie stanu widoku. Możesz animować przejścia stanu, korzystając z jednej z następujących technik:

  • Twórz rysowania, które animują zmiany stanu skojarzone z określonym widokiem. Nowa AnimatedStateListDrawable klasa umożliwia tworzenie rysowania, które wyświetlają animacje między zmianami stanu widoku.

  • Zdefiniuj funkcje animacji uruchamiane po zmianie stanu widoku. Nowa StateListAnimator klasa umożliwia zdefiniowanie animacji uruchamianej po zmianie stanu widoku.

Aby uzyskać więcej informacji na temat wyświetlania animacji przejścia stanu w systemie Android 5.0, zobacz Animowanie zmian stanu widoku.

Odsłanianie efektu

Efekt odsłaniania jest okręgiem wycinkowym, który zmienia promień, aby odsłonić lub ukryć widok. Ten efekt można kontrolować, ustawiając początkowy i końcowy promień okręgu wyciętego. Poniższa sekwencja zrzutów ekranu przedstawia animację efektów od środka ekranu:

Frame by frame screenshots of reveal animation

Następna sekwencja ilustruje animację efektów odsłaniającą, która odbywa się w lewym dolnym rogu ekranu:

Frame by frame screenshots of clipping animation

Odsłanianie animacji można odwrócić; oznacza to, że obcinanie okręgu może się zmniejszyć, aby ukryć widok, a nie powiększyć, aby odsłonić widok.

Aby uzyskać więcej informacji na temat efektu ujawniania w systemie Android 5.0, zobacz Use the Reveal Effect (Używanie efektu odsłaniania).

Ruch zakrzywiony

Oprócz tych funkcji animacji system Android 5.0 udostępnia również nowe interfejsy API, które umożliwiają określenie krzywych czasu i ruchu animacji. System Android 5.0 używa tych krzywych do interpolacji ruchu czasowego i przestrzennego podczas animacji. Trzy krzywe są zdefiniowane w systemie Android 5.0:

  • Fast_out_linear_in — przyspiesza i przyspiesza do końca animacji.

  • Fast_out_slow_in — przyspiesza szybkie i powoli zwalnia pod koniec animacji.

  • Linear_out_slow_in — zaczyna się od szczytowej prędkości i powoli zwalnia do końca animacji.

Możesz użyć nowej PathInterpolator klasy, aby określić sposób interpolacji ruchu. PathInterpolator to interpolator, który przechodzi ścieżki animacji zgodnie z określonymi punktami kontrolnymi i krzywymi ruchu. Aby uzyskać więcej informacji na temat określania zakrzywionych ustawień ruchu w systemie Android 5.0, zobacz Korzystanie z ruchu krzywego.

Wyświetl cienie i wysokość

W systemie Android 5.0 można określić podniesienie uprawnień widoku, ustawiając nową Z właściwość. Większa Z wartość powoduje rzutowanie większego cienia na tle, dzięki czemu widok wydaje się unosić się wyżej nad tłem. Początkowe podniesienie uprawnień widoku można ustawić, konfigurując jego elevation atrybut w układzie.

Poniższy przykład ilustruje cienie rzutowane przez pustą TextView kontrolkę, gdy jego atrybut podniesienia uprawnień jest ustawiony odpowiednio na 2dp, 4dp i 6dp:

Screenshots of progessively larger view shadows

Ustawienia widoku w tle mogą być statyczne (jak pokazano powyżej) lub mogą być używane w animacjach, aby widok wydawał się tymczasowo wznieść się powyżej tła widoku. Możesz użyć ViewPropertyAnimator klasy , aby animować podniesienie uprawnień widoku. Podniesienie uprawnień widoku jest sumą ustawienia układu elevation oraz właściwością translationZ , którą można ustawić za pomocą ViewPropertyAnimator wywołania metody.

Aby uzyskać więcej informacji na temat wyświetlania cieni w systemie Android 5.0, zobacz Definiowanie cieni i widoków wycinków.

Funkcje kolorów

System Android 5.0 udostępnia dwie nowe funkcje do zarządzania kolorami w aplikacjach:

  • Rysowalne odcienie umożliwia zmianę kolorów zasobów obrazu przez zmianę atrybutu układu.

  • Wyróżnianie wyodrębniania kolorów umożliwia dynamiczne dostosowywanie motywu kolorów aplikacji w celu koordynowania palety kolorów wyświetlanego obrazu.

Rysowalne odcienie

Układy systemu Android 5.0 rozpoznają nowy tint atrybut, którego można użyć do ustawiania koloru rysowalnych bez konieczności tworzenia wielu wersji tych zasobów w celu wyświetlania różnych kolorów. Aby użyć tej funkcji, należy zdefiniować mapę bitową jako maskę alfa i użyć tint atrybutu do zdefiniowania koloru elementu zawartości. Dzięki temu można tworzyć zasoby raz i kolorować je w układzie, aby pasować do motywu.

W poniższym przykładzie pojedynczy element zawartości obrazu — biały logo z przezroczystym tłem — służy do tworzenia odmian odcieni:

White Xamarin logo with transparent background

To logo jest wyświetlane powyżej niebieskiego okrągłego tła, jak pokazano w poniższych przykładach. Obraz po lewej stronie to sposób wyświetlania logo bez tint ustawienia. Na obrazie środkowym atrybut logo tint jest ustawiony na ciemnoszary. Na obrazie po prawej stronie tint ustawiono jasnoszary kolor:

Examples of the above logo with different tint settings

Aby uzyskać więcej informacji na temat rysowania odcieni w systemie Android 5.0, zobacz Rysowalne odcienie.

Wyodrębnianie wybitnych kolorów

Nowa klasa systemu Android 5.0 Palette umożliwia wyodrębnianie kolorów z obrazu, dzięki czemu można je dynamicznie stosować do niestandardowej palety kolorów. Klasa Palette wyodrębnia sześć kolorów z obrazu i etykietuje te kolory zgodnie z ich względnymi poziomami nasycenia kolorów i jasności:

  • Tętniące życiem

  • Żywe ciemne

  • Żywe światło

  • Wyciszony

  • Wyciszony ciemny

  • Wyciszone światło

Na przykład na poniższych zrzutach ekranu aplikacja do wyświetlania zdjęć wyodrębnia widoczne kolory z obrazu na wyświetlaczu i używa tych kolorów do dostosowania schematu kolorów aplikacji do dopasowania obrazu:

Screenshots of green, pink, and blue theme color extractions

Na powyższych zrzutach ekranu pasek akcji jest ustawiony na wyodrębniony kolor "żywego światła", a tło jest ustawione na wyodrębniony kolor "żywy ciemny". W każdym przykładzie powyżej znajduje się wiersz małych kwadratów kolorów, aby zilustrować kolory palety wyodrębnione z obrazu.

Aby uzyskać więcej informacji na temat wyodrębniania kolorów w systemie Android 5.0, zobacz Wyodrębnianie widocznych kolorów z obrazu.

Nowe widżety interfejsu użytkownika

System Android 5.0 wprowadza dwa nowe widżety interfejsu użytkownika:

  • RecyclerView — grupa widoków, która wyświetla listę elementów przewijanych.

  • CardView — podstawowy układ z zaokrąglonymi rogami.

Oba widżety obejmują obsługę baked-in dla funkcji motywu materiału; na przykład RecyclerView używa animacji do dodawania i usuwania widoków oraz CardView używa cieni widoków, aby każda karta wydawała się unosić się nad tłem. Przykłady tych nowych widżetów przedstawiono na następujących zrzutach ekranu:

Screenshots of apps built with RecyclerView

Zrzut ekranu po lewej stronie jest przykładem RecyclerView użycia w aplikacji poczty e-mail, a zrzut ekranu po prawej stronie jest przykładem CardView użycia w aplikacji rezerwacji podróży.

RecyclerView

RecyclerView jest podobny do ListView, tego, ale lepiej nadaje się do obsługi dużych zestawów widoków lub list z elementami, które zmieniają się dynamicznie. Podobnie jak ListView, w przypadku określenia karty dostępu do bazowego zestawu danych. Jednak w przeciwieństwie do ListView, menedżera układówdo umieszczania elementów w programie RecyclerView. Menedżer układu zajmuje się również odtwarzaniem widoku; zarządza ponownym użyciem widoków elementów, które nie są już widoczne dla użytkownika.

W przypadku korzystania z widżetu RecyclerView należy określić kartę LayoutManager i . Jak pokazano na rysunku, LayoutManager jest pośrednikiem między adapterem a elementem RecyclerView:

Diagram of RecyclerView with supporting LayoutManager, Adapter, and Dataset

Poniższe zrzuty ekranu ilustrują element RecyclerView zawierający 100 elementów (każdy element składa się z elementu ImageView i TextView):

Screenshots of a RecyclerView app scrolling through images

RecyclerView obsługuje ten duży zestaw danych z łatwością — przewijanie od początku listy do końca listy w tej przykładowej aplikacji zajmuje tylko kilka sekund. RecyclerView obsługuje również animacje; w rzeczywistości animacje dodawania i usuwania elementów są domyślnie włączone. Gdy element zostanie dodany do RecyclerViewelementu , zniknie w sposób pokazany w tej sekwencji zrzutów ekranu:

Frame by frame screenshot of a photo item fading in

Aby uzyskać więcej informacji o RecyclerViewsystemie, zobacz RecyclerView.

CardView

CardView to prosty widok, który symuluje zmienną kartę z zaokrąglonymi rogami. Ponieważ CardView ma wbudowane cienie widoku, zapewnia łatwy sposób dodawania głębi wizualizacji do aplikacji. Na poniższych zrzutach ekranu przedstawiono trzy przykłady zorientowane na tekst:CardView

Example screenshots of apps using RecyclerView with CardView-based items

Każda z kart w powyższym przykładzie zawiera wartość TextView; kolor tła jest ustawiany za pośrednictwem atrybutu cardBackgroundColor .

Aby uzyskać więcej informacji na temat CardViewusługi , zobacz CardView.

Powiadomienia rozszerzone

System powiadomień w systemie Android 5.0 został znacząco zaktualizowany o nowy format wizualny i nowe funkcje. Powiadomienia mają nowy wygląd w systemie Android 5.0. Na przykład powiadomienia w systemie Android 5.0 używają teraz ciemnego tekstu na jasnym tle:

Example of an Android 5.0 notification un-expanded

Gdy duża ikona jest wyświetlana w powiadomieniu (jak pokazano w powyższym przykładzie), system Android 5.0 przedstawia małą ikonę jako znaczek dla dużej ikony.

W systemie Android 5.0 powiadomienia mogą być również wyświetlane na ekranie blokady urządzenia. Oto przykładowy zrzut ekranu blokady z pojedynczym powiadomieniem:

Screenshot of notification appearing on the lock screen

Użytkownicy mogą dwukrotnie nacisnąć powiadomienie na ekranie blokady, aby odblokować urządzenie i przejść do aplikacji, która pochodzi z tego powiadomienia, lub szybko przesunąć, aby odrzucić powiadomienie. Powiadomienia mają nowe ustawienie widoczności , które określa, ile zawartości można wyświetlić na ekranie blokady. Użytkownicy mogą wybrać, czy zezwalać na wyświetlanie poufnych zawartości w powiadomieniach na ekranie blokady.

System Android 5.0 wprowadza nowy format prezentacji powiadomień o wysokim priorytcie o nazwie Heads-up. Powiadomienia z głową przesuwają się w dół od góry ekranu przez kilka sekund, a następnie cofają się do cienia powiadomień w górnej części ekranu. Powiadomienia head-up umożliwiają interfejsowi użytkownika systemu umieszczanie ważnych informacji przed użytkownikiem bez zakłócania aktualnie działającej aktywności. Poniższy przykład ilustruje proste powiadomienie head-up wyświetlane w górnej części aplikacji:

Example of a heads-up notification

Powiadomienia head-up są zwykle używane w przypadku następujących zdarzeń:

  • Nowa następna wiadomość

  • Przychodzące połączenie telefoniczne

  • Niski wskaźnik naładowania baterii

  • Alarm

System Android 5.0 wyświetla powiadomienie w formacie Head-up tylko wtedy, gdy ma ustawienie priorytetu wysokiego lub maksymalnego.

W systemie Android 5.0 można podać metadane powiadomień, aby ułatwić systemowi Android bardziej inteligentne sortowanie i wyświetlanie powiadomień. System Android 5.0 organizuje powiadomienia zgodnie z priorytetem, widocznością i kategorią. Kategorie powiadomień służą do filtrowania powiadomień, które mogą być wyświetlane, gdy urządzenie jest w trybie Nie przeszkadzać .

Aby uzyskać szczegółowe informacje na temat tworzenia i uruchamiania powiadomień przy użyciu najnowszych funkcji systemu Android 5.0, zobacz Powiadomienia lokalne.

Nowe interfejsy API

Oprócz nowych funkcji wyglądu i działania opisanych powyżej system Android 5.0 dodaje nowe interfejsy API, które rozszerzają możliwości istniejących funkcji multimediów, magazynu i łączności bezprzewodowej/łączności. Ponadto system Android 5.0 zawiera nowe interfejsy API, które zapewniają obsługę nowej funkcji harmonogramu zadań.

Kamera

System Android 5.0 udostępnia kilka nowych interfejsów API dla rozszerzonych możliwości aparatu. Nowa Android.Hardware.Camera2 przestrzeń nazw obejmuje funkcje uzyskiwania dostępu do poszczególnych urządzeń aparatów połączonych z urządzeniem z systemem Android. Android.Hardware.Camera2 Ponadto modeluje każde urządzenie aparatu jako potok: akceptuje żądanie przechwytywania, przechwytuje obraz, a następnie generuje wynik. Takie podejście umożliwia aplikacjom kolejkę wielu żądań przechwytywania do urządzenia z kamerą.

Następujące interfejsy API umożliwiają następujące nowe funkcje:

  • CameraManager.GetCameraIdList – Pomaga programowo uzyskiwać dostęp do urządzeń z kamerami; służy CameraManager.OpenCamera do nawiązywania połączenia z określonym urządzeniem fotograficznym.

  • CameraCaptureSession — przechwytuje lub przesyła strumieniowo obrazy z urządzenia aparatu. Zaimplementujesz CameraCaptureSession.CaptureListener interfejs do obsługi nowych zdarzeń przechwytywania obrazów.

  • CaptureRequest — definiuje parametry przechwytywania.

  • CaptureResult — udostępnia wyniki operacji przechwytywania obrazów.

Aby uzyskać więcej informacji na temat nowych interfejsów API aparatu w systemie Android 5.0, zobacz Multimedia.

Odtwarzanie audio

System Android 5.0 aktualizuje klasę w AudioTrack celu lepszego odtwarzania dźwięku:

  • ENCODING_PCM_FLOAT — Umożliwia AudioTrack akceptowanie danych dźwiękowych w formacie zmiennoprzecinkowym w celu uzyskania lepszego zakresu dynamicznego, większego miejsca pracy i wyższej jakości (dzięki zwiększonej precyzji). Ponadto format zmiennoprzecinkowa pomaga uniknąć wycinków dźwiękowych.

  • ByteBuffer — Możesz teraz podać dane audio jako AudioTrack tablicę bajtów.

  • WRITE_NON_BLOCKING — Ta opcja upraszcza buforowanie i wielowątkowość niektórych aplikacji.

Aby uzyskać więcej informacji na temat AudioTrack ulepszeń w systemie Android 5.0, zobacz Multimedia.

Kontrolka odtwarzania multimediów

System Android 5.0 wprowadza nową Android.Media.MediaController klasę, która zastępuje RemoteControlClientelement . Android.Media.MediaController Zapewnia uproszczone interfejsy API sterowania transportem i zapewnia bezpieczną wątkowo kontrolę odtwarzania poza kontekstem interfejsu użytkownika. Następujące nowe interfejsy API obsługują kontrolę transportu:

  • Android.Media.Session.MediaSession — sesja kontroli multimediów, która obsługuje wiele kontrolerów. Wywołaj metodę MediaSession.GetSessionToken , aby zażądać tokenu używanego przez aplikację do interakcji z sesją.

  • MediaController.TransportControls — obsługuje polecenia transportu, takie jak Play, Stop i Skip.

Możesz również użyć nowej Android.App.Notification.MediaStyle klasy, aby skojarzyć sesję multimediów z bogatą zawartością powiadomień (na przykład wyodrębnianie i wyświetlanie grafiki albumu).

Aby uzyskać więcej informacji na temat nowych funkcji sterowania odtwarzaniem multimediów w systemie Android 5.0, zobacz Multimedia.

Storage

System Android 5.0 aktualizuje program Storage Access Framework, aby ułatwić aplikacjom pracę z katalogami i dokumentami:

  • Aby wybrać poddrzewo katalogu, możesz skompilować i wysłać intencję Android.Intent.Action.OPEN_DOCUMENT_TREE . Ta intencja powoduje, że system wyświetli wszystkie wystąpienia dostawcy, które obsługują wybór poddrzewa; użytkownik następnie przegląda i wybiera katalog.

  • Aby utworzyć nowe dokumenty lub katalogi i zarządzać nimi w dowolnym miejscu poddrzewem, należy użyć nowych CreateDocumentmetod , RenameDocumenti DeleteDocument .DocumentsContract

  • Aby uzyskać ścieżki do katalogów multimedialnych na wszystkich udostępnionych urządzeniach magazynu, należy wywołać nową Android.Content.Context.GetExternalMediaDirs metodę.

Aby uzyskać więcej informacji na temat nowych interfejsów API magazynu w systemie Android 5.0, zobacz Magazyn.

Łączność bezprzewodowa i Połączenie ivity

System Android 5.0 dodaje następujące ulepszenia interfejsu API dla sieci bezprzewodowej i łączności:

  • Nowe wielosieciowe interfejsy API, które umożliwiają aplikacjom znajdowanie i wybieranie sieci z określonymi możliwościami przed nawiązaniem połączenia.

  • Funkcje emisji Bluetooth, które umożliwiają urządzeniu z systemem Android 5.0 działanie jako urządzenie peryferyjne Bluetooth o niskiej energii.

  • Ulepszenia nfc, które ułatwiają korzystanie z funkcji komunikacji zbliżeniowej do udostępniania danych innym urządzeniom. .

Planowanie zadań

System Android 5.0 wprowadza nowy JobScheduler interfejs API, który może pomóc użytkownikom zminimalizować zużycie baterii przez zaplanowanie niektórych zadań do uruchomienia tylko wtedy, gdy urządzenie jest podłączone i ładowane. Ta funkcja harmonogramu zadań może również służyć do planowania zadania do uruchomienia, gdy warunki są bardziej odpowiednie dla tego zadania, takie jak pobieranie dużego pliku, gdy urządzenie jest połączone za pośrednictwem sieci Wi-Fi zamiast sieci taryfowej.

Aby uzyskać więcej informacji na temat nowych interfejsów API planowania zadań w systemie Android 5.0, zobacz Planowanie zadań.

Podsumowanie

Ten artykuł zawiera omówienie ważnych nowych funkcji w systemie Android 5.0 dla deweloperów aplikacji platformy Xamarin.Android:

  • Motyw materiału

  • Animacje

  • Wyświetlanie cieni i wysokości

  • Funkcje kolorów, takie jak rysowane odcienie i wybitne wyodrębnianie kolorów

  • Nowe RecyclerView elementy i CardView widżety

  • Ulepszenia powiadomień

  • Nowe interfejsy API dla aparatu, odtwarzania audio, kontroli multimediów, magazynu, bezprzewodowego/łączności i planowania zadań

Jeśli dopiero zaczynasz pracę z programowaniem dla platformy Xamarin dla systemu Android, przeczytaj artykuł Setup and Installation (Instalacja i instalacja ), aby ułatwić rozpoczęcie pracy z platformą Xamarin.Android. Witaj, Android to doskonałe wprowadzenie do nauki tworzenia projektów systemu Android.