我在flutter中创建了一个项目,而我在flutter中是一个新手,所以我无法理解为什么我能够访问构建主体外部的“上下文”?
void _showAlertDialog() {
var alertDialog = AlertDialog(
title: Text("Hey,This is loser"),
);
showDialog(context: context,
builder: (BuildContext context){
return alertDialog;
});
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
appBar: AppBar(
title: Text("Demo project"),
),
body:Center(
child: RaisedButton(
child: Text("Click Me")
,onPressed: _showAlertDialog),
)
);
}
答案 0 :(得分:0)
context
是BuildContext
的一个实例,该实例将传递到窗口小部件生成器以告知其位置在窗口小部件树内部。
Widget构建再次使用参数BuildContext context
,因此,即使您在构建主体外部调用BuildContext context
,它仍将调用Widget构建。
如果您想了解更多信息,请阅读this。