flutter - 如何在 Flutter 中实现这样的 UI?
问题描述
我想要一张像 Container 这样的卡片,放在一个简单的背景上,如图所示。
这是我尝试使用 Stack 的方法,但我无法将其放置在正确的位置。
我是新来的,很抱歉问了这么愚蠢的问题。
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: <Widget>[
Container(
color: Colors.grey,
),
Positioned(
child: Container(
color: Colors.white,
height: 400,
))
],
),
);
}
解决方案
使用Positioned.fill
withAlign
作为它的孩子,并给对齐作为Alignment.bottomCenter
。然后,您可以为边界半径装饰堆叠的容器。
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: <Widget>[
Container(
color: Colors.grey,
),
Positioned.fill(
child: Align(
alignment: Alignment.bottomCenter,
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topRight: Radius.circular(30),
topLeft: Radius.circular(30),
),
color: Colors.white,
),
height: 400,
),
),
)
],
),
);
}
推荐阅读
- git - 在对 master 运行 git diff 时,有没有办法获取文件的根目录路径?
- python - 如何从文本中读取特定世界的文本告诉python中文本文件中的下一个空格
- apache-spark - 如何在 scala 中对数据框中的多个列进行 mapreduce?
- elasticsearch - Lucene 中的 ES Match 查询模拟
- hadoop - Hive 因 java.lang.IncompatibleClassChangeError 而崩溃
- d3.js - 以编程方式缩放后使用鼠标滚轮时 D3.zoom 跳转
- python - 如何避免使用 tweepy Twitter API 的速率限制?
- maven - 为什么 maven-release-plugin 会上传构建信息?并且可以删除吗?
- python - Scrapy - 请求太多?
- git - 如何在 GitHub 和 Jenkins 中设置 DB2 存储过程