Flutter 颤振-扩展的不稳定性';当兄弟姐妹灵活时,不要占用所有可用空间
问题的图像,显示为彩色矩形 我希望列的第一个子级灵活,第二个子级占用整个剩余空间。显然,这是行不通的 我现在意识到这是预期的行为。我希望有一个解决办法 我尝试在第一个子项上使用FittedBox而不是Flexible,但它不起作用,因为第一个子项的内容具有无限的宽度Flutter 颤振-扩展的不稳定性';当兄弟姐妹灵活时,不要占用所有可用空间,flutter,flutter-layout,Flutter,Flutter Layout,问题的图像,显示为彩色矩形 我希望列的第一个子级灵活,第二个子级占用整个剩余空间。显然,这是行不通的 我现在意识到这是预期的行为。我希望有一个解决办法 我尝试在第一个子项上使用FittedBox而不是Flexible,但它不起作用,因为第一个子项的内容具有无限的宽度 SizedBox( 身高:300, 宽度:50, 子:容器( 颜色:颜色,黑色, 子:列( mainAxisSize:mainAxisSize.min, 儿童:[ 灵活的( 子:容器( 身高:100, 颜色:颜色,红色, ), )
SizedBox(
身高:300,
宽度:50,
子:容器(
颜色:颜色,黑色,
子:列(
mainAxisSize:mainAxisSize.min,
儿童:[
灵活的(
子:容器(
身高:100,
颜色:颜色,红色,
),
),
扩大(
子:容器(
颜色:颜色,蓝色,
),
),
],
),
),
);
我想让第一个孩子(即文本字段)灵活,这样,如果高度太小,就不会有难看的黄黑色溢出条
更新:
下图显示了我真正想做的事情,但它存在溢出问题,因为第一个子项不灵活
显示当我使用Flexible时会发生什么
我正在使用AnimatedContainer更改高度。如果可能的话,我不想使用SizeTransition。只需用下一个代码替换您的代码即可(弹性比率可以调整为正确的):
SizedBox(
身高:300,
宽度:50,
子:容器(
颜色:颜色,黑色,
子:列(
mainAxisSize:mainAxisSize.min,
儿童:[
灵活的(
弹性:1
子:容器(
身高:100,
颜色:颜色,红色,
),
),
灵活的(
弹性:10
子:容器(
颜色:颜色,蓝色,
),
),
],
),
),
);
您应该从第一个容器(红色容器)中删除高度参数,然后放置the@karimtarek谢谢你的建议。我提供的代码简单地说明了我的问题。我已经用适当的例子更新了这个问题,说明了我真正想要实现的目标。我认为您只需要设置父容器的高度和宽度Expanded
始终在任何列
或行
(当然,如果您不更改flex属性)@Rodolfoffranco上占用剩余空间,这也不起作用。我在GitHub上发现了同样的问题。到目前为止,还没有关于这个问题的其他报道。这一行为并非出人意料,正如雷米·罗塞莱在《经济学人》一书中的回答所理解的那样。
SizedBox(
height: 300,
width: 50,
child: Container(
color: Colors.black,
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Flexible(
flex:1
child: Container(
height: 100,
color: Colors.red,
),
),
Flexible(
flex:10
child: Container(
color: Colors.blue,
),
),
],
),
),
);