我有一个RaisedButton。
Widget build(BuildContext context) {
print("MyHomePageState build");
// TODO: implement build
return Scaffold(
appBar: AppBar(title: Text("test")),
body: Stack(
children: <Widget>[
RaisedButton(
onPressed: () {
Navigator.of(context).pushNamed("Page2");
},
child: Text("jump"),
)
],
)
);
}
如何通过编程代码而不是单击此按钮来触发此按钮的onTap()方法?
您可以只创建一个单独的函数并以编程方式调用此方法:
void triggerButton() {
Navigator.of(context).pushNamed("Page2");
}
然后,这样称呼它:
Widget build(BuildContext context) {
print("MyHomePageState build");
// TODO: implement build
return Scaffold(
appBar: AppBar(title: Text("test")),
body: Stack(
children: <Widget>[
RaisedButton(
onPressed: () {
triggerButton();
},
child: Text("jump"),
)
],
)
);
}
简单复制onPressed()
函数主体并将其包装为函数:
void onTapRaised(){
Navigator.of(context).pushNamed("Page2");
}
RaisedButton(
onPressed:onTapRaised,
child:Text("Jump"),
)
现在您可以从同一页面的任何地方以编程方式调用onTapRaised
。