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