一个你曾经自己正在编写一个构造方法,希望在决定它的外观之前能知道你的widget有多大?
那么LayoutBuilder可以帮助你。
class HomeScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return LayoutBuilder(
builder: (context, contraints){},
);
}
}
它的构造器函数具有构建上下文和传入框约束的参数~
这些是widget的有效宽度和高度的范围。
你的构建逻辑可以检查这些约束,然后对如何构建自己作出明确的决策。
class HomeScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return LayoutBuilder(
builder: (context, contraints){
if (contraints.maxWidth < 600) {
return MyOneColumnLayout();
} else {
return MyTwoColumnLayout();
}
},
);
}
}
如果想了解有关LayoutBuilder的内容,或者关于Flutter的其他功能,请访问flutter.io
原文翻译自视频:视频地址