Projekt nawigatora
Przekazywanie parametrów (2 sposoby)
Przykład z ekranem logowania
Animacje przejść
Zagnieżdżenie nawigacji
Utrzymywanie danych i nawigatora pomiędzy uruchomieniami
Tips & tricks
do ekranu głównego. • Dostęp z dowolnego miejsca w kodzie. • Oparty o BLoC-a. 1 enum NavigationType { 2 PUSH, 3 POP, 4 HOME 5 } 1 enum NavigationType { 5 } BlocProvider.of<NavigationBloc>(context).add(...);
do ekranu głównego. • Dostęp z dowolnego miejsca w kodzie. • Oparty o BLoC-a. 1 enum NavigationType { 2 PUSH, 3 POP, 4 HOME 5 } 1 enum NavigationType { 2 PUSH, 5 } BlocProvider.of<NavigationBloc>(context).add(...);
do ekranu głównego. • Dostęp z dowolnego miejsca w kodzie. • Oparty o BLoC-a. 1 enum NavigationType { 2 PUSH, 3 POP, 4 HOME 5 } 1 enum NavigationType { 2 PUSH, 3 POP, 5 } BlocProvider.of<NavigationBloc>(context).add(...);
do ekranu głównego. • Dostęp z dowolnego miejsca w kodzie. • Oparty o BLoC-a. 1 enum NavigationType { 2 PUSH, 3 POP, 4 HOME 5 } BlocProvider.of<NavigationBloc>(context).add(...);
do ekranu głównego. • Dostęp z dowolnego miejsca w kodzie. • Oparty o BLoC-a. 1 enum NavigationType { 2 PUSH, 3 POP, 4 HOME 5 } BlocProvider.of<NavigationBloc>(context).add(...);
do ekranu głównego. • Dostęp z dowolnego miejsca w kodzie. • Oparty o BLoC-a. 1 enum NavigationType { 2 PUSH, 3 POP, 4 HOME 5 } BlocProvider.of<NavigationBloc>(context).add(...);
Przykład z ekranem logowania • Animacje przejść • Zagnieżdżenie nawigacji • Utrzymywanie danych i nawigatora pomiędzy uruchomieniami • Tips & tricks Założenie obsługa Bottom bara jest już spełniona. Otrzymujemy 2 metody: onRefreshTab onSelectTab
// Don't perform outgoing animation if the next route is a fullscreen dialog. 4 return (nextRoute is MaterialPageRoute && ! nextRoute.fullscreenDialog) 5 || (nextRoute is CupertinoPageRoute && ! nextRoute.fullscreenDialog); 6 }
biznesowej i UI jest tym, czego próbujemy uniknąć. (Niestety czasami przejścia są kontrolowane przez logikę biznesową) • Brak BuildContext-u • Łatwość testowania skomplikowanych sekwencji ekranów • Scentralizowana nawigacja • Świadomość stanu nawigacji! UI BLoC Strumień Strumień UI BLoC Wywołania Strumień • Rozwiązaniem może być "Simple BLoC". (Zastępujemy zdarzenia prostymi wywołaniami)