flutter - 之间的空间不起作用,我做错了什么吗?
问题描述
class ScheduleListItem extends StatelessWidget {
ScheduleListItem({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
height: 300,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10),
boxShadow: [
BoxShadow(
color: Colors.black26, offset: Offset(0, 5), blurRadius: 5)
]),
margin: EdgeInsets.all(7),
child: Row(
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Container(
width: 15,
decoration: BoxDecoration(
color: Colors.red,
borderRadius:
BorderRadius.horizontal(left: Radius.circular(10))),
),
Column(
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween ,
children: <Widget>[Text("Data"), Text("Data")],
),
Row(
children: <Widget>[Text("Data"), Text("Data")],
),
Row(
children: <Widget>[Text("Data"), Text("Data")],
)
],
)
],
),
);
}
}
解决方案
你需要把你Column
的包裹起来Expanded
,然后你才能使用Spacer
财产,它占用了剩余的空间。
Expanded(
child: Column(
children: <Widget>[
Row(children: <Widget>[Text("Data"), Spacer(), Text("Data")]),
Row(children: <Widget>[Text("Data"), Spacer(), Text("Data")]),
Row(children: <Widget>[Text("Data"), Spacer(), Text("Data")])
],
),
)
你也可以用flex
inSpacer
告诉你想如何划分剩余区域的占用率,如果你有一个以上Spacer
的Row/Column
推荐阅读
- java - 在将图像传递给报告期间获取 IllegalArgumentException
- audio - 从 .m2ts 视频文件中删除音频流
- amazon-web-services - 将 IP 地址重定向到 AWS 上的子域
- django - Django Abstract Class 根据实际类改变行为
- html - 如何将侧边栏与一行的主要内容 div 垂直对齐
- java - 在 System.gc() 之后未释放 Java 弱引用
- postgresql - REST API 何时使用查询参数或请求参数?
- laravel - Laravel 种子与关系(真实数据)
- python - Python 优化:解析文本文件以存储默认值并在 python 中创建密钥对字典
- javascript - 如何在不将组件包装在?