我目前MaterialApp
在我的flutter应用程序中有一个,它的使用Navigator
非常简单,这非常好。但是,我现在试图找出如何为特定视图/小工具创建更多导航器的方法。例如,我有一个自定义选项卡栏,其中包含另一个小部件/视图。现在,我希望该小部件/视图具有自己的导航堆栈。因此,目标是在我从窗口小部件/视图内导航到其他页面时,将标签栏保持在顶部。
这个问题几乎完全是这样:Flutter中带有导航栏的永久视图,但是在该代码中,还没有MaterialApp
。嵌套MaterialApp
s可以得出时髦的结果,我不认为那是解决方案。
有任何想法吗?
您可以为每个页面创建新的导航器。作为参考,请检查CupertinoTabView
还是简单的例子:
import 'package:flutter/material.dart';
class Home extends StatelessWidget {
Navigator _getNavigator(BuildContext context) {
return new Navigator(
onGenerateRoute: (RouteSettings settings) {
return new MaterialPageRoute(builder: (context) {
return new Center(
child: new Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
new Text(settings.name),
new FlatButton(
onPressed: () =>
Navigator.pushNamed(context, "${settings.name}/next"),
child: new Text('Next'),
),
new FlatButton(
onPressed: () =>
Navigator.pop(context),
child: new Text('Back'),
),
],
),
);
});
},
);
}
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Column(
children: <Widget>[
new Expanded(
child: _getNavigator(context),
),
new Expanded(
child: _getNavigator(context),
),
],
),
);
}
}
void main() {
runApp(new MaterialApp(
home: new Home(),
));
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句