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 - Fatal编程技术网

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很抱歉,我错过了您的评论。