Flutter 在正文中添加多行或多列

Flutter 在正文中添加多行或多列,flutter,user-interface,dart,Flutter,User Interface,Dart,嗨,我想知道为什么我的汉堡包在体内添加另一个Expanded()code时会错位 我试图按照这个url开发一个汉堡包菜单,并同时响应所有平台。 下面是我在行()下方添加Expanded()时尝试的代码 final GlobalKey _scaffoldKey=GlobalKey(); @凌驾 小部件构建(构建上下文){ 最终宽度=MediaQuery.of(context).size.width; 返回脚手架( 钥匙:_scaffoldKey, 抽屉:AppDrawer(), 正文:世界其他地

嗨,我想知道为什么我的汉堡包在体内添加另一个
Expanded()
code时会错位

我试图按照这个url开发一个汉堡包菜单,并同时响应所有平台。

下面是我在
行()下方添加
Expanded()
时尝试的代码

final GlobalKey _scaffoldKey=GlobalKey();
@凌驾
小部件构建(构建上下文){
最终宽度=MediaQuery.of(context).size.width;
返回脚手架(
钥匙:_scaffoldKey,
抽屉:AppDrawer(),
正文:世界其他地区(
儿童:[
划船(
儿童:[
填充物(
填充:常量边集。全部(16),
孩子:我的钮扣(
图标:图标(图标菜单,尺寸:30),
已按下:(){
_scaffoldKey.currentState.openDrawer();
}),
),
],
),
扩大(
子:容器(
宽度:宽度,
子:列(
儿童:[
扩大(
孩子:洛蒂网络(
'https://assets2.lottiefiles.com/datafiles/6WfDdm3ooQTEs1L/data.json'),
),
扩大(
子:列(
儿童:[
灵活的(
子:文本(
“多元测试”,
风格:GoogleFonts.montserrat(
尺寸:50,
),
),
),
大小盒子(
身高:10,
),
灵活的(
子:文本(
“进行实验,使关键流程更有效。”,
风格:GoogleFonts.montserrat(
尺寸:25,
),
),
),
大小盒子(
身高:35,
),
//忽略:不推荐的\u成员\u使用
文本按钮(
按下:(){},
子:文本(
“创造实验”,
风格:GoogleFonts.montserrat(
尺寸:20,
),
),
)
],
),
),
],
),
),
)
],
),
);
}
}

以及我从移动视图看到的输出。谢谢你的帮助。对不起,屏幕截图太大了

因为膨胀填满了整个空间,这就是为什么你的汉堡包变得不对了。
为什么不尝试使用appbar制作汉堡包?

这是因为
行的默认功能

因此,将顶级
行的第一个孩子更改为:

Scaffold(
  key: _scaffoldKey,
  drawer: AppDrawer(),
  body: Row(
    children: [
      Align(
        alignment: Alignment.topCenter,
        child: Padding(
            padding: const EdgeInsets.all(16),
            child: IconButton(
                icon: Icon(Icons.menu, size: 30),
                onPressed: () {
                  _scaffoldKey.currentState.openDrawer();
                })),
      ),
      Expanded( ...... rest of your code
这里,我们将
Align
小部件与
alignment:alignment.topCenter
一起使用

Align
小部件占用父对象中的整个可用空间,然后根据
alignment
属性,将其内部的子对象对齐

因此,说
Alignment.topCenter
会将其垂直放置在顶部,水平放置在中间


使用
AppBar
将不必要地使您的情况复杂化,因为现在
AppBar
将占用顶部的空间,但在您的情况下,您希望您的
Lottie
视图在顶部可见,因此它将重叠。

嗨,我将查看AppBar,但对于另一部分
Expanded()
我试着把它改成
行()
我觉得不行,你不需要把扩展的()改成行()。就像@nisanth reddy在他的回答中建议的那样,把第一个孩子排到最上面。哈!美好的哇,我错过了这个。谢谢
Scaffold(
  key: _scaffoldKey,
  drawer: AppDrawer(),
  body: Row(
    children: [
      Align(
        alignment: Alignment.topCenter,
        child: Padding(
            padding: const EdgeInsets.all(16),
            child: IconButton(
                icon: Icon(Icons.menu, size: 30),
                onPressed: () {
                  _scaffoldKey.currentState.openDrawer();
                })),
      ),
      Expanded( ...... rest of your code