我想构建一个列出不同小部件的可滚动页面(在列表视图中)。基本上,我的想法是进行以下设置:
SingleChildScrollView (Container (Column (... Expanded(ListView))))
然而,这只适用于容器的固定高度。有没有办法根据列表视图显示的小部件数量动态改变容器的高度?
PS:我使列表视图不可滚动,因为整个页面已经可以通过 SingleChildScrollView 滚动。
希望有人可以在这里提供帮助。
非常感谢,尼古拉斯
代码:
class _ProfileState extends State<Profile> {
@override
Widget build(BuildContext context) {
return SingleChildScrollView(
child: Container(height: 2000, child:
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Expanded(child: PostList()),
],),),);}}
和:
class _PostListState extends State<PostList> {
@override
Widget build(BuildContext context) {
final postData = Provider.of<List<PostData>>(context) ?? [];
if (postData != null) {
return ListView.builder(
physics: const NeverScrollableScrollPhysics(),
itemCount: postData.length,
itemBuilder: (context, index) {
return PostTile (postData: postData[index]);
},);
} else {
return Text('loading'); // Check if necessary
}}}