Flutter 如何将视图置于列表视图之上?
我有一个listview,它被平均分为两部分(作为背景)如何在上面放置视图(100*100 w*h)?(此框应居中对齐并位于根的顶部) 这是我的密码-Flutter 如何将视图置于列表视图之上?,flutter,dart,Flutter,Dart,我有一个listview,它被平均分为两部分(作为背景)如何在上面放置视图(100*100 w*h)?(此框应居中对齐并位于根的顶部) 这是我的密码- @override Widget build(BuildContext context) { return Scaffold( body: ListView( children: <Widget>[ Container( w
@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,
),
],
),
);
}
}
@覆盖
小部件构建(构建上下文){
返回脚手架(
正文:ListView(
儿童:[
容器(
宽度:((作为RenderBox的context.findenderobject()).size.width),
高度:((context.findenderobject()作为RenderBox.size.height)/2,
颜色:深绿色,
),
//尺寸箱(宽度:10,),
容器(
宽度:((作为RenderBox的context.findenderobject()).size.width),
高度:((context.findenderobject()作为RenderBox.size.height)/2,
颜色:颜色。灰色,
),
],
),
);
}
}
首先,您不需要这一行:
((context.findenderObject()作为RenderBox.size.width)
您可以将其替换为:
double.infinity
它将采用父小部件
允许的最大宽度
至于您的问题,您可以将列表视图
包装在堆栈中
:
容器(
宽度:double.infinity,
高度:双无限,
子:堆栈(
儿童:[
列表视图(
儿童:[
容器(
宽度:double.infinity,
高度:
((context.findenderObject()作为RenderBox.size.height)/2,
颜色:深绿色,
),
//尺寸箱(宽度:10,),
容器(
宽度:double.infinity,
高度:
((context.findenderObject()作为RenderBox.size.height)/2,
颜色:颜色。灰色,
),
],
),
//将所需的小部件放在此处
],
),
),