【发布时间】:2020-11-10 15:25:07
【问题描述】:
这是我要实现的 UI,我上周才开始玩 Flutter,所以我不是很流畅。我想知道实现这种布局的最佳方法是什么。
这是代码:
Column(
children: <Widget>[
Expanded(
child: Container(
constraints: BoxConstraints.expand(height: 150),
color: Colors.blue,
child: Stack(
overflow: Overflow.visible,
children: <Widget>[
Positioned(
bottom: -40,
left: MediaQuery.of(context).size.width * 0.4,
// alignment: Alignment.bottomCenter,
child: Container(
constraints: BoxConstraints.expand(height: 80, width: 80),
color: Colors.green,
),
),
],
),
),
flex: 3,
),
Expanded(
child: Container(
margin: EdgeInsets.all(15.0),
color: Colors.red,
),
flex: 7,
)
],
);
【问题讨论】:
-
我知道堆栈可以与溢出一起使用,但这感觉有点像 hack。
-
它不应该让人觉得是 hack,因为它不是。
-
我遇到堆栈的一个问题是,我无法阻止包含名称 (David Beckham) 和模型/超级开始的文本小部件的白色容器被扩展为完整父级跨度>
-
您到底面临什么问题?图片中的布局方面不止一种。
-
每当我使用堆栈、容器和列的组合时,我都没有得到想要的结果,加号、配置文件和消息图标要么显示在白色背景容器下方,要么根本不会溢出.