我有一个包含容器 + listView 的页面。现在 listView 是可滚动的,但我希望整个页面都是可滚动的。(所以如果用户滚动,容器就会“离开”)
Column(
children: <Widget>[
Container(
color: Colors.white.withOpacity(0.95),
width: 400,
height: 400,
child: Text("")),
ListView(
children: posts,
),
],
),
Run Code Online (Sandbox Code Playgroud)
这可能吗,如何实现?
谢谢!
你可以用一个包裹整个页面 SingleChildScrollView
这是一个例子:
SingleChildScrollView( // <- added
child: Column(
children: <Widget>[
Container(
color: Colors.white.withOpacity(0.95),
width: 400,
height: 400,
child: Text("")),
ListView(
shrinkWrap: true, // <- added
primary: false, // <- added
children: posts,
),
],
),
);
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅此问题
ListView.builder并根据索引显示小部件怎么办。Container.Column.让我知道它是否适合你。
以下是供您参考的工作代码:
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: posts.length + 1, // +1 because you are showing one extra widget.
itemBuilder: (BuildContext context, int index) {
if (index == 0) {
return Container(
color: Colors.white.withOpacity(0.95),
width: 400,
height: 400,
child: Text(""));
}
int numberOfExtraWidget = 1; // here we have 1 ExtraWidget i.e Container.
index = index - numberOfExtraWidget; // index of actual post.
return posts[index];
},
);
}
Run Code Online (Sandbox Code Playgroud)
我希望这对你有用,如有任何疑问,请发表评论。