Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何为响应屏幕调整行中列的大小?_Flutter_Dart_Flutter Layout_Flutter Web - Fatal编程技术网

Flutter 如何为响应屏幕调整行中列的大小?

Flutter 如何为响应屏幕调整行中列的大小?,flutter,dart,flutter-layout,flutter-web,Flutter,Dart,Flutter Layout,Flutter Web,我正在为web构建Flitter中的应用程序登录页。我需要使页面响应不同的屏幕大小 我使用MediaQuery更改小屏幕的布局,使小部件的布局垂直 但对于中等尺寸的屏幕,布局是水平的。所以,我需要调整应用程序屏幕截图时,屏幕变小。怎么办 例如: 以下是我迄今为止的代码: Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, chi

我正在为web构建Flitter中的应用程序登录页。我需要使页面响应不同的屏幕大小

我使用
MediaQuery
更改小屏幕的布局,使小部件的布局垂直

但对于中等尺寸的屏幕,布局是水平的。所以,我需要调整应用程序屏幕截图时,屏幕变小。怎么办

例如:

以下是我迄今为止的代码:

Row(
                            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                            children: <Widget>[
                              Column(
                                mainAxisAlignment: MainAxisAlignment.center,
                                children: <Widget>[
                                  CenterText(),
                                  SizedBox(height: 10),
                                  Row(
                                    children: <Widget>[
                                      DownloadButtons()                                    ],
                                  ),
                                ],
                              ),
                              Column(
                                children: <Widget>[
                                  Screenshot(),
                                ],
                              ),
                            ],
                          )
行(
mainAxisAlignment:mainAxisAlignment.space,
儿童:[
纵队(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
CenterText(),
尺寸箱(高度:10),
划船(
儿童:[
下载按钮()],
),
],
),
纵队(
儿童:[
屏幕截图(),
],
),
],
)

您需要了解
LayoutBuilder
组件,它是您所需要的,并且可以满足您的需要

LayoutBuilder
采用两个参数,一个是
上下文
,第二个是
约束
。通过这些约束,您可以设置为显示不同屏幕的不同布局

检查此示例:

LayoutBuilder(
        builder: (context, constraints) {
          if(constraints.maxHeight < 768 && constraints.maxWidth < 1270) {
            return smallDesignContent();
          } else {
            return bigDefaultDesignContent();
          }
        },
      )
LayoutBuilder(
生成器:(上下文、约束){
if(constraints.maxHeight<768&&constraints.maxWidth<1270){
返回smallDesignContent();
}否则{
返回bigDefaultDesignContent();
}
},
)


谢谢您的回复!我知道
LayoutBuilder
,但我的问题是我需要根据屏幕大小,而不仅仅是一个大小或另一个大小,将屏幕截图缩小。看看reflectly.app没问题,你可以设置多个条件,这取决于你,如果你想检查高度和宽度是否都小于300,你可以。我只举了一个例子,你可以拥有你应该拥有的