我在Flutter MyApplicationBar.dart中创建了一个自定义appBar 我要包括每一页吗?现在如何调用onPressed:()函数的登录页面
class MyApplicationBar extends AppBar {
MyApplicationBar({Key key, Widget title})
: super(key: key, title:title, actions:<Widget>[
IconButton(
icon: new Icon(Icons.lock),
tooltip: 'Login',
onPressed: () {
print('sssss');
},
),
IconButton(
icon: const Icon(Icons.supervised_user_circle),
tooltip: 'Accounts',
onPressed: () {
},
),
]);
}
答案 0 :(得分:0)
有多种方法可以导航到新页面 1.简单的方法是Navigator.of(context).pushNamed(routeName,arguments:arguments)
,但是最好的方法是使用它,因为它非常干净并且可以提高代码的可读性。 这就是导航的专业方式。 2.在MaterialApp小部件中使用onGenerateRoute
return MaterialApp(
// remove debug banner
debugShowCheckedModeBanner: false,
title: APP_NAME,
home: Home(),
onGenerateRoute: (RouteSettings settings) {
switch (settings.name) {
case "abc":
return CupertinoPageRoute(
builder: (BuildContext context) {
return VideoTopics();
},
settings: settings);
break;
}});
现在要从任何页面导航到abc页面,只需使用此行代码
Navigator.of(context).pushNamed("abc");
确保您在导航器中传递的文本与onGeneratedRoute中传递的文本相同 因此建议对此类事情使用常量