custom_navigator
一個 Flutter 套件,讓您輕鬆在小部件樹中的任何位置建立自己的導航器。
一個處理在組件樹深處導航的Flutter套件
{"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.