Flutter 颤振:如何在特定事件上重建应用程序

Flutter 颤振:如何在特定事件上重建应用程序,flutter,flutter-web,Flutter,Flutter Web,我有一个Flitter web应用程序,它适用于所有屏幕大小。我分配了一个变量“width”来获得屏幕宽度,并基于该变量构建了整个应用程序 当我在chrome上放大或缩小时,需要刷新页面以获得所需的大小。除非我刷新,否则小部件不会调整大小 我想要一种类似触发器的功能,如果宽度发生变化,应用程序必须重新构建。 我怎样才能做到这一点?您可以使用a来实现这一点。此小部件有一个生成器参数,称为布局约束更改 LayoutBuilder( 生成器:(上下文、约束){ }, ) 这些约束提供了允许应用程序了

我有一个Flitter web应用程序,它适用于所有屏幕大小。我分配了一个变量“width”来获得屏幕宽度,并基于该变量构建了整个应用程序

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

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

我怎样才能做到这一点?

您可以使用a来实现这一点。此小部件有一个生成器参数,称为布局约束更改

LayoutBuilder(
生成器:(上下文、约束){
},
)
这些约束提供了允许应用程序了解可用空间大小的选项

constraints.maxWidth;//获取最大可用宽度
constraints.maxHeight;//获取最大可用高度
constraints.minWidth;//获取最小可用宽度
constraints.minHeight;//获取最小可用高度
这些可用于根据可用空间有条件地更改布局,并在布局时进行重建

或者,您可以使用一个简单的
MediaQuery
。您可以获得以下宽度:

MediaQuery.of(context).size.width;
身高:

MediaQuery.of(context).size.height;
但是,这些调用必须在
build
方法中完成,以便在每次重建时更改大小。

您可以使用来实现这一点。此小部件有一个生成器参数,称为布局约束更改

LayoutBuilder(
生成器:(上下文、约束){
},
)
这些约束提供了允许应用程序了解可用空间大小的选项

constraints.maxWidth;//获取最大可用宽度
constraints.maxHeight;//获取最大可用高度
constraints.minWidth;//获取最小可用宽度
constraints.minHeight;//获取最小可用高度
这些可用于根据可用空间有条件地更改布局,并在布局时进行重建

或者,您可以使用一个简单的
MediaQuery
。您可以获得以下宽度:

MediaQuery.of(context).size.width;
身高:

MediaQuery.of(context).size.height;

但是,这些调用必须在
build
方法中完成,以便在每次重建时更改大小。

我使用MediaQuery获取宽度,我只想在宽度更改时触发重建。@KaranOwalekar
build
在宽度更改时已被调用。你可能没有像我的回答所说的那样在
build
中执行
MediaQuery
s。如果我缩小到50%,那么内容看起来很小,但只要我点击“刷新”,一切都会按照我的预期进行(设置为50%)。我想让刷新发生我正在主文件的构建中使用MediaQuery。你必须共享你的代码。我不知道“缩小”是什么意思,也不知道您的问题或预期行为到底是什么。我使用MediaQuery获取宽度,我只想在宽度更改时触发重建。@KaranOwalekar
build
在宽度更改时已被调用。你可能没有像我的回答所说的那样在
build
中执行
MediaQuery
s。如果我缩小到50%,那么内容看起来很小,但只要我点击“刷新”,一切都会按照我的预期进行(设置为50%)。我想让刷新发生我正在主文件的构建中使用MediaQuery。你必须共享你的代码。我不知道“缩小规模”是什么意思,也不知道你的问题或预期行为到底是什么。