Flutter:如何在某个事件上重建应用程序



我有一个flutter web应用程序,它适用于所有屏幕大小。我指定了一个变量";宽度";以获得屏幕宽度,并在此基础上构建整个应用程序。

当我放大或缩小chrome时,它要求我刷新页面以获得所需的大小。除非我刷新小部件,否则不要调整大小。

我想要一个类似触发器的功能,如果宽度发生变化,应用程序必须重建

我该如何做到这一点

您可以使用LayoutBuilder来实现这一点。此小部件有一个生成器参数,该参数在布局约束更改时被调用。

LayoutBuilder(
builder: (context, constraints) {
},
)

这些限制提供了一些选项,使您的应用程序能够了解的可用空间

constraints.maxWidth; // get maximum available width
constraints.maxHeight; // get maximum available height
constraints.minWidth; // get minimum available width
constraints.minHeight; // get minimum available height

这些可用于根据可用空间有条件地更改布局,并在布局时进行重建。

或者,您可以使用简单的MediaQuery。你可以得到宽度:

MediaQuery.of(context).size.width;

高度:

MediaQuery.of(context).size.height;

但是,这些调用必须在build方法中完成,以便每次重建时大小都会发生变化。

相关内容

  • 没有找到相关文章

最新更新