为什么在build(BuildContext context)主体之外进行“上下文”访问?

时间:2019-06-20 10:14:37

标签: flutter flutter-layout

我在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),
  )
 );
}

1 个答案:

答案 0 :(得分:0)

contextBuildContext的一个实例,该实例将传递到窗口小部件生成器以告知其位置在窗口小部件树内部。 Widget构建再次使用参数BuildContext context,因此,即使您在构建主体外部调用BuildContext context,它仍将调用Widget构建。

如果您想了解更多信息,请阅读this