flutter - 如何将视图放在列表视图之上?
问题描述
我有一个列表视图,它被平均分为两部分(作为背景)我怎样才能在它上面放置一个视图(100*100 w*h)?(这个框应该居中对齐和根的顶部)
这是我尝试过的代码-
@override
Widget build(BuildContext context) {
return Scaffold(
body: ListView(
children: <Widget>[
Container(
width: ((context.findRenderObject() as RenderBox).size.width),
height: ((context.findRenderObject() as RenderBox).size.height)/2,
color: darkGreen,
),
// SizedBox(width: 10,),
Container(
width: ((context.findRenderObject() as RenderBox).size.width),
height: ((context.findRenderObject() as RenderBox).size.height)/2,
color: Colors.grey,
),
],
),
);
}
}
解决方案
首先,你不需要这一行:
((context.findRenderObject() as RenderBox).size.width)
您可以将其替换为:
double.infinity
它将采用父母Widget
可以允许的最大宽度。
至于你的问题,你可以把你包装ListView
在一个Stack
:
Container(
width: double.infinity,
height: double.infinity,
child: Stack(
children: <Widget>[
ListView(
children: <Widget>[
Container(
width: double.infinity,
height:
((context.findRenderObject() as RenderBox).size.height) / 2,
color: darkGreen,
),
// SizedBox(width: 10,),
Container(
width: double.infinity,
height:
((context.findRenderObject() as RenderBox).size.height) / 2,
color: Colors.grey,
),
],
),
//place your desired widget here
],
),
),
推荐阅读
- pandas - 如何移动整个组的多列
- r - rmarkdown::render() 输出到标准输出
- java - 如何将套接字数据从 Android 设备发送到通过 Android 的热点 (AP) 连接的 PC
- javascript - NodeJS - 填补缺失的日期
- python - python包ggtools无法导入ggtools.gg
- javascript - 如何快速将剪贴板的内容粘贴到 Chrome 开发控制台中的变量中?
- listview - Firemonkey Listview 动态外观图片 LoadFromFile
- cakephp - Cakephp 4.0 中的validationDefault 声明
- migration - 是否可以编写一个删除一列的 Sqitch 更改,而不会使 sqitch verify 永远失败?
- java - 从 JSON 字符串中删除元素