Xamarin.Forms Wprowadzenie do powłoki
Xamarin.Forms Powłoka zmniejsza złożoność tworzenia aplikacji mobilnych, zapewniając podstawowe funkcje, których wymaga większość aplikacji mobilnych, w tym:
- Jedno miejsce do opisania hierarchii wizualnej aplikacji.
- Typowe środowisko użytkownika nawigacji.
- Schemat nawigacji oparty na identyfikatorze URI, który umożliwia nawigację do dowolnej strony w aplikacji.
- Zintegrowana procedura obsługi wyszukiwania.
Ponadto aplikacje powłoki korzystają ze zwiększonej szybkości renderowania i mniejszego zużycia pamięci.
Ważne
Istniejące aplikacje mogą wdrażać powłokę i korzystać natychmiast z ulepszeń nawigacji, wydajności i rozszerzalności.
Hierarchia wizualizacji aplikacji
Xamarin.Forms W aplikacji shell hierarchia wizualizacji aplikacji jest opisana w klasie, która klasyShell
. Ta klasa może składać się z trzech głównych obiektów hierarchicznych:
- Usługa
FlyoutItem
lubTabBar
. ElementFlyoutItem
reprezentuje co najmniej jeden element w wysuwanym oknie wysuwanym i powinien być używany, gdy wzorzec nawigacji dla aplikacji wymaga wysuwanego elementu. ElementTabBar
reprezentuje dolny pasek karty i powinien być używany, gdy wzorzec nawigacji dla aplikacji zaczyna się od kart dolnych i nie wymaga wysuwanego menu wysuwanego. Tab
, który reprezentuje pogrupowaną zawartość, nawigację według kart dolnych.ShellContent
, który reprezentujeContentPage
obiekty dla każdej karty.
Te obiekty nie reprezentują żadnego interfejsu użytkownika, ale raczej organizacji hierarchii wizualnej aplikacji. Powłoka przejmie te obiekty i utworzy interfejs użytkownika nawigacji dla zawartości.
Uwaga
Strony są tworzone na żądanie w aplikacjach powłoki w odpowiedzi na nawigację.
Aby uzyskać więcej informacji, zobacz Tworzenie aplikacji powłokiXamarin.Forms.
Środowisko użytkownika nawigacji
Środowisko nawigacji udostępniane przez Xamarin.Forms powłokę jest oparte na wysuwanych i kartach. Najwyższy poziom nawigacji w aplikacji powłoki to wysuwany lub dolny pasek karty, w zależności od wymagań nawigacji aplikacji. W poniższym przykładzie pokazano aplikację, w której górny poziom nawigacji jest wysuwany:
W tym przykładzie niektóre elementy wysuwane są duplikowane jako elementy paska tabulacji. Istnieją jednak również elementy, do których można uzyskać dostęp tylko z wysuwanego menu. Wybranie elementu wysuwanego powoduje wyświetlenie karty dolnej, która reprezentuje wybrany i wyświetlony element:
Uwaga
Gdy okno wysuwane nie jest otwarte, można uznać, że jest to górny poziom nawigacji w aplikacji.
Każda karta na pasku karty wyświetla wartość ContentPage
. Jeśli jednak dolna karta zawiera więcej niż jedną stronę, strony są nawigowalne za pomocą górnego paska kart:
Na każdej karcie można przejść do dodatkowych ContentPage
obiektów, które są nazywane stronami szczegółów:
Powłoka używa środowiska nawigacji opartego na identyfikatorze URI, które używa tras do przechodzenia do dowolnej strony w aplikacji bez konieczności korzystania z hierarchii nawigacji zestawu. Ponadto zapewnia również możliwość przechodzenia do tyłu bez konieczności odwiedzania wszystkich stron w stosie nawigacji. Aby uzyskać więcej informacji, zobacz Xamarin.Forms Nawigacja w powłoce.
Search
Xamarin.Forms Powłoka zawiera zintegrowane funkcje wyszukiwania udostępniane przez klasę SearchHandler
. Możliwość wyszukiwania można dodać do strony, dodając do niej podklasowany SearchHandler
obiekt. Spowoduje to dodanie pola wyszukiwania w górnej części strony. Po wprowadzeniu danych w polu wyszukiwania obszar sugestii wyszukiwania jest wypełniany danymi:
Następnie po wybraniu wyniku z obszaru sugestii wyszukiwania można wykonać logikę niestandardową, taką jak przejście do strony szczegółów.
Aby uzyskać więcej informacji, zobacz Xamarin.Forms Wyszukiwanie powłoki.
Obsługa platform
Xamarin.FormsPowłoka jest w pełni dostępna w systemach iOS i Android, ale tylko częściowo dostępna w platforma uniwersalna systemu Windows (UWP). Ponadto powłoka jest obecnie eksperymentalna na platformie UWP i może być używana tylko przez dodanie następującego wiersza kodu do App
klasy w projekcie platformy UWP przed wywołaniem metody Forms.Init
:
global::Xamarin.Forms.Forms.SetFlags("Shell_UWP_Experimental");
Aby uzyskać więcej informacji na temat stanu powłoki na platformie UWP, zobacz Xamarin.Forms Powłoka Project Board na github.com.