custom_navigator
위젯 트리의 어디에서나 사용자 정의 네비게이터를 쉽게 만들 수 있도록 도와주는 플러터 패키지입니다.
위젯 트리의 깊은 부분에서 탐색을 처리하는 플러터 패키지
{"sdk":"flutter"}{"sdk":"flutter"}아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
A flutter package that makes it easy to create your own navigator anywhere in the widget tree.
A common use for such widget is when you need to implement an "Always presenting bottom navigation bar"
https://raw.githubusercontent.com/ayham95/Custom-navigator/HEAD/giphy.gif
First you need to add the package to your pubspec.yaml file.
CustomScaffold is a stateful widget that uses the CustomNavigator to to handle item transition of [BottomNavigationBar] with nested navigation while keeping the [BottomNavigationBar] visible!
// Here's the custom scaffold widget
// It takes a normal scaffold with mandatory bottom navigation bar
// and children who are your pages
CustomScaffold(
scaffold: Scaffold(
bottomNavigationBar: BottomNavigationBar(
items: _items,
),
),
// Children are the pages that will be shown by every click
// They should placed in order such as
// `page 0` will be presented when `item 0` in the [BottomNavigationBar] clicked.
children: <Widget>[
Page('0'),
Page('1'),
Page('2'),
],
// Called when one of the [items] is tapped.
onItemTap: (index) {},
);
See the custom_scaffold_example for more details
The CustomNavigator is fairly easy to use
CustomNavigator(
home: YourChildWidget(),
//Specify your page route [PageRoutes.materialPageRoute] or [PageRoutes.cupertinoPageRoute]
pageRoute: PageRoutes.materialPageRoute,
);
Then you can call it using the same old Navigator.of(context)
if you want to use the default [Navigator] you need to specify a
[GlobalKey] to your [MaterialApp] and use it navigatorKey.currentState
See the example for more details.