Flutter 颤振-行/列项目之间的最小间距
我试图从图片构建布局,但没有成功。我怎么做?(参见下面我尝试的内容) 我构建Flutter 颤振-行/列项目之间的最小间距,flutter,flutter-layout,Flutter,Flutter Layout,我试图从图片构建布局,但没有成功。我怎么做?(参见下面我尝试的内容) 我构建行如下: final row=行( mainAxisAlignment:mainAxisAlignment.spaceBetween, 儿童:[ 项(), 尺寸控制箱(宽度:_分钟), 项(), 尺寸控制箱(宽度:_分钟), 项(), ], ); 工作正常,但无法缩小溢出的内容。所以我把这个东西放在FittedBox中以支持缩小尺寸: final fittedRow=FittedBox( 适合度:BoxFit.sca
行
如下:
final row=行(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
项(),
尺寸控制箱(宽度:_分钟),
项(),
尺寸控制箱(宽度:_分钟),
项(),
],
);
工作正常,但无法缩小溢出的内容。所以我把这个东西放在FittedBox
中以支持缩小尺寸:
final fittedRow=FittedBox(
适合度:BoxFit.scaleDown,
孩子:排,
);
此时,行
停止以在项目之间分配可用空间。似乎FittedBox
试图尽可能小,并且不为行提供可用空间。所以我也试着把它放在容器中
来拉伸FittedBox
:
容器(
宽度:double.infinity,
孩子:fittedRow,
);
但是Row
仍然不会传播它的孩子。我能做的最好的事情是设置BoxFit.contain
-然后FittedBox
至少开始向上缩放行
,以填充整个屏幕。如果您使用灵活的小部件包装您的项目,并为它们指定灵活的值,我想您会完全得到您想要的,它将根据手机屏幕自动设置您的项目如果您使用Flexible widget包装您的项目并为其分配Flexible值,我认为您将完全满足您的需要,它将根据手机屏幕自动设置您的项目您可以使用Flexible widget并为其分配Flexible值
final row = Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Flexible(child: Item(),flex: 1,),
Flexible(child: Item(),flex: 1,),
Flexible(child: Item(),flex: 1,),
],
);
您可以使用flexiblewidget并为它们分配flexvalue
final row = Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Flexible(child: Item(),flex: 1,),
Flexible(child: Item(),flex: 1,),
Flexible(child: Item(),flex: 1,),
],
);
谢谢,它很管用!小提示:此解决方案不需要FittedBox
或Container
环绕Row
。它实际上不会在溢出时缩放项目,但在我的情况下这不是一个问题哦,而且我还必须在灵活的小部件之间放置SizedBox
-es以创建最小间距。谢谢!小提示:此解决方案不需要FittedBox
或Container
环绕Row
。它实际上不会在溢出时缩放项目,但在我的情况下这不是问题哦,而且我还必须在灵活的小部件之间放置SizedBox
-es以创建最小间距