Flutter 颤振:如何对齐两个相邻部件的高度?
在较大的屏幕上,这不是一个问题,所有小部件的高度都是相同的,但在较小的屏幕上,有时其中一个比其他小部件大,因为小部件扩展了自身以包含内容 我怎样才能修好它Flutter 颤振:如何对齐两个相邻部件的高度?,flutter,dart,Flutter,Dart,在较大的屏幕上,这不是一个问题,所有小部件的高度都是相同的,但在较小的屏幕上,有时其中一个比其他小部件大,因为小部件扩展了自身以包含内容 我怎样才能修好它 return ListView( children: <Widget>[ Row( children: <Widget>[ Flexible(child: _valueBox(), flex: 3, fit: FlexFit.tight), Flexible(ch
return ListView(
children: <Widget>[
Row(
children: <Widget>[
Flexible(child: _valueBox(), flex: 3, fit: FlexFit.tight),
Flexible(child: _dueDateBox(), flex: 3, fit: FlexFit.tight),
],
),
Row(
children: <Widget>[
Flexible(child: _advancePaymentBox(), flex: 3, fit: FlexFit.tight),
Flexible(child: _priceBox(), flex: 3, fit: FlexFit.tight),
],
),
],
);
返回列表视图(
儿童:[
划船(
儿童:[
柔性(子项:_valueBox(),柔性:3,配合:FlexFit.tight),
柔性(子项:_duedetbox(),柔性:3,配合:FlexFit.tight),
],
),
划船(
儿童:[
灵活(子项:_advancePaymentBox(),flex:3,fit:FlexFit.tight),
灵活(子项:_priceBox(),flex:3,fit:FlexFit.tight),
],
),
],
);
看起来是因为文本溢出到了新行。如果您想要强制执行固定大小,则有一个名为ConstrainedBox的小部件。您可能还想看看这个软件包,它可以动态调整您的文本大小以适应 如何使用GridView
?
我认为这是更简单的方法
这只是一个示例代码。我添加了两行文字而不是图像
Widget _valueBox(){
return Container(color: Colors.blue,
child: Column(mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text("title"), Text("TestA", style: TextStyle(fontSize:50.0))]));
}
Widget _dueDateBox(){
return Container(color: Colors.yellow,
child: Column(mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text("title"), Text("This is long text", style: TextStyle(fontSize:50.0))]));
}
Widget _advancedPaymentBox(){
return Container(color: Colors.green,
child: Column(mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text("title"), Text("TestA", style: TextStyle(fontSize:50.0))]));
}
Widget _priceBox(){
return Container(color: Colors.pink,
child: Column(mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text("title"), Text("This is long text really", style: TextStyle(fontSize:50.0))]));
}
Widget getList(BuildContext context){
return GridView.count(
crossAxisCount: 2,
children: <Widget>[
_valueBox(),
_dueDateBox(),
_advancedPaymentBox(),
_priceBox()
],
);
}
Widget\u valueBox(){
返回容器(颜色:Colors.blue,
子项:列(mainAxisAlignment:mainAxisAlignment.center,
儿童:[
文本(“标题”),文本(“测试”,样式:TextStyle(fontSize:50.0))];
}
Widget_dueDateBox(){
返回容器(颜色:Colors.yellow,
子项:列(mainAxisAlignment:mainAxisAlignment.center,
儿童:[
文本(“标题”),文本(“这是长文本”,样式:TextStyle(fontSize:50.0)));
}
Widget_advancedPaymentBox(){
返回容器(颜色:Colors.green,
子项:列(mainAxisAlignment:mainAxisAlignment.center,
儿童:[
文本(“标题”),文本(“测试”,样式:TextStyle(fontSize:50.0))];
}
Widget_priceBox(){
返回容器(颜色:Colors.pink,
子项:列(mainAxisAlignment:mainAxisAlignment.center,
儿童:[
文本(“标题”),文本(“这真的是很长的文本”,样式:TextStyle(fontSize:50.0)));
}
小部件getList(构建上下文){
返回GridView.count(
交叉轴计数:2,
儿童:[
_valueBox(),
_dueDateBox(),
_预付款PaymentBox(),
_价格箱()
],
);
}
这就是结果。@omidh很抱歉,我错过了您的评论。