我试图通过在彼此之间有均匀的空格将元素放在红色框中. (就像给每个人增加重量1).为此,我将“mainAxisAlignment:MainAxisAlignment.spaceEvenly”放在父列中,但它不起作用.
@H_403_9@
@H_403_9@
Container( margin: EdgeInsets.only(bottom: 8.0),child: Row( crossAxisAlignment: CrossAxisAlignment.start,children: <Widget>[ CachednetworkImage( imageUrl: "https://image.tmdb.org/t/p/w500/${movIEDetails .posterPath}",height: 120.0,fit: BoxFit.fill),Expanded( child: Container( margin: EdgeInsets.only(left: 8.0),child: Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly,//NOT WORKING! children: <Widget>[ generateRow( Strings.released,movIEDetails.releaseDate),generateRow(Strings.runtime,movIEDetails.runtime.toString()),generateRow(Strings.budget,movIEDetails.budget.toString()) ],))) ],)),
这是电影图像和红框的代码.我创建了一个包含2个元素的Row.第一个是图像,第二个是红色框.@H_403_9@
@H_403_9@
Row generateRow(String key,String value) {return Row( mainAxisAlignment: MainAxisAlignment.spaceBetween,children: <Widget>[Text(key),Text(value)],); }
我的generateRow方法@H_403_9@
我怎么解决这个问题?@H_403_9@解决方法 由于您已经给出了图像的高度为120.0,您可以对其他Container子项执行相同的 *** 作.通过这个,我能够实现你想要的.
@H_403_9@
代码段:@H_403_9@
@H_403_9@
Container( margin: EdgeInsets.only(bottom: 8.0),child: Row( crossAxisAlignment: CrossAxisAlignment.start,children: <Widget>[ CachednetworkImage( imageUrl: "https://image.tmdb.org/t/p/w500/${movIEDetails .posterPath}",Expanded( child: Container( height: 120.0 //added to fix margin: EdgeInsets.only(left: 8.0),child: Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly,//NOT WORKING! children: <Widget>[ generateRow( Strings.released,movIEDetails.budget.toString()) ],))) ],
调试提示:@H_403_9@
>我使用Flutter Inspector来发现问题. Refer
>请参阅下图.即使我们给了Expanded,它只占图像大小的一半.这里Expanded的大小由孩子的大小(几乎是图像大小的一半)确定.
@H_403_9@@H_403_9@ 总结
以上是内存溢出为你收集整理的dart – Flutter – 列中的空间均匀无法正常工作全部内容,希望文章能够帮你解决dart – Flutter – 列中的空间均匀无法正常工作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)