Flutter don';不要让Flex视图在屏幕大小调整后调整大小

Flutter don';不要让Flex视图在屏幕大小调整后调整大小,flutter,flutter-layout,flutter-web,Flutter,Flutter Layout,Flutter Web,我正在使用FlatterWeb创建我的新站点。我正在使用灵活的小部件,但不让它工作后,一些浏览器尺寸。i、 e.在一些浏览器维度之后,此Flex视图停止工作。怎么做 下面是我的主页 import 'package:flutter_web/material.dart'; class HomePage extends StatefulWidget { @override _HomePageState createState() => _HomePageState(); } clas

我正在使用FlatterWeb创建我的新站点。我正在使用灵活的小部件,但不让它工作后,一些浏览器尺寸。i、 e.在一些浏览器维度之后,此Flex视图停止工作。怎么做

下面是我的主页

import 'package:flutter_web/material.dart';

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: <Widget>[
        Flexible(
            flex: 1,
            fit: FlexFit.tight,
            child: Container(
              height: MediaQuery.of(context).size.height * 0.20,
              child: Padding(
                padding: EdgeInsets.only(
                  left: MediaQuery.of(context).size.width*0.20,
                ),
                child: Row(
                  children: <Widget>[
                    Icon(IconData(58819, fontFamily: 'MaterialIcons'), color: Colors.red), // apps icon
                    Text("mysite", style: TextStyle(fontWeight: FontWeight.bold, fontSize: 30),)
                  ],
                ),
              ),
              ),
          ),
          Flexible(
            flex: 7,
            fit: FlexFit.tight,
            child: Container(
              color: Colors.purple,
              child: Padding(
                padding: EdgeInsets.only(
                  left: MediaQuery.of(context).size.width*0.20,
                ),
                child: Row(
                  children: <Widget>[
                    ClipRRect(
                      borderRadius: BorderRadius.circular(10),
                      child: Container(
                        child: Text("Word to PDF"),
                      ),
                    ),
                  ],
                ),
              ),
            ),
          ),
          Flexible(
            flex: 3,
            fit: FlexFit.tight,
            child: Container(
              height: MediaQuery.of(context).size.height * 0.30,
              color: Colors.green,
            ),
          ),
      ],
      )      
    );
  }
}
import'包装:flatter_web/material.dart';
类主页扩展了StatefulWidget{
@凌驾
_HomePageState createState()=>\u HomePageState();
}
类_HomePageState扩展状态{
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:专栏(
儿童:[
灵活的(
弹性:1,
适合:FlexFit.tight,
子:容器(
高度:MediaQuery.of(上下文).size.height*0.20,
孩子:填充(
填充:仅限边缘设置(
左:MediaQuery.of(context).size.width*0.20,
),
孩子:排(
儿童:[
图标(Iconda(58819,fontFamily:'MaterialIcons'),颜色:Colors.red),//应用程序图标
文本(“mysite”,样式:TextStyle(fontWeight:fontWeight.bold,fontSize:30)
],
),
),
),
),
灵活的(
弹性:7,
适合:FlexFit.tight,
子:容器(
颜色:颜色,紫色,
孩子:填充(
填充:仅限边缘设置(
左:MediaQuery.of(context).size.width*0.20,
),
孩子:排(
儿童:[
ClipRRect(
边界半径:边界半径。圆形(10),
子:容器(
子:文本(“Word到PDF”),
),
),
],
),
),
),
),
灵活的(
弹性:3,
适合:FlexFit.tight,
子:容器(
高度:MediaQuery.of(上下文).size.height*0.30,
颜色:颜色。绿色,
),
),
],
)      
);
}
}

应用flex值后,可以使用
LayoutBuilder
计算高度。如果生成的高度满足约束,则继续使用flex。如果没有,请使用
SizedBox

以下是一个例子:

void main(){
runApp(材料应用程序)(
家:脚手架(
主体:LayoutBuilder(生成器:(上下文、约束){
最终最小高度=150.0;
//1是小部件的弹性值
//6是列中所有弹性值的总和
最终flexHeight=1/6*constraints.maxHeight;
返回列(
儿童:[
灵活的(
弹性:3,
子:容器(颜色:Colors.red),
),
灵活的(
弹性:2,
子容器(颜色:Colors.green),
),
如果(挠曲高度>最小高度)
灵活的(
弹性:1,
子项:getConstrainedContainer(),
),
如果(弯曲高度