如何在 SliverGrid 中使用 itemCount?
How to use itemCount in SliverGrid?
很可能我的 SliverGrid 概念完全错误,
我想做的是,UI明智的是,我想要 Flutter 中已经提供的可折叠 SliverAppBar。我的主要内容主体是一组来自 API 响应并已解析并加载到列表变量的图像。
现在这是我的代码:
body: CustomScrollView(
slivers: <Widget>[
SliverAppBar(expandedHeight: 150.0, backgroundColor: Colors.green),
SliverGrid(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3
),
delegate: SliverChildBuilderDelegate((BuildContext context, int index){
return Padding(
padding: EdgeInsets.symmetric(horizontal: 2.0, vertical: 2.0),
child: InkWell(
child: Card(
elevation: 8.0,
child: FadeInImage.memoryNetwork(fit: BoxFit.cover,image: myimagelist[index].thumbnail, placeholder:kTransparentImage,fadeInCurve: Curves.bounceIn,),
),
)
);
}),
),
],
),
我想这可能是因为我无法告诉小部件我的数据有多长。对于 GridView.builder itemCount
参数在那里,但 SliverGrid 没有这样的选项。在这里做什么?
SliverGrid 小部件没有名为 itemCount
的 属性。但是,如果您阅读 docs,您会看到它的委托 属性 接受一个 SliverChildBuilderDelegate 并有一个 属性 称为 childCount
。您可以使用此 属性 来设置您希望在您的 slivergrid 中的孩子的数量。
delegate: SliverChildBuilderDelegate((BuildContext context, int index){
return Padding(
padding: EdgeInsets.symmetric(horizontal: 2.0, vertical: 2.0),
child: InkWell(
child: Card(
elevation: 8.0,
child: FadeInImage.memoryNetwork(fit: BoxFit.cover,image: myimagelist[index].thumbnail, placeholder:kTransparentImage,fadeInCurve: Curves.bounceIn,),
),
)
);
},
childCount: 3, // Your desired amount of children here
),
很可能我的 SliverGrid 概念完全错误,
我想做的是,UI明智的是,我想要 Flutter 中已经提供的可折叠 SliverAppBar。我的主要内容主体是一组来自 API 响应并已解析并加载到列表变量的图像。
现在这是我的代码:
body: CustomScrollView(
slivers: <Widget>[
SliverAppBar(expandedHeight: 150.0, backgroundColor: Colors.green),
SliverGrid(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3
),
delegate: SliverChildBuilderDelegate((BuildContext context, int index){
return Padding(
padding: EdgeInsets.symmetric(horizontal: 2.0, vertical: 2.0),
child: InkWell(
child: Card(
elevation: 8.0,
child: FadeInImage.memoryNetwork(fit: BoxFit.cover,image: myimagelist[index].thumbnail, placeholder:kTransparentImage,fadeInCurve: Curves.bounceIn,),
),
)
);
}),
),
],
),
我想这可能是因为我无法告诉小部件我的数据有多长。对于 GridView.builder itemCount
参数在那里,但 SliverGrid 没有这样的选项。在这里做什么?
SliverGrid 小部件没有名为 itemCount
的 属性。但是,如果您阅读 docs,您会看到它的委托 属性 接受一个 SliverChildBuilderDelegate 并有一个 属性 称为 childCount
。您可以使用此 属性 来设置您希望在您的 slivergrid 中的孩子的数量。
delegate: SliverChildBuilderDelegate((BuildContext context, int index){
return Padding(
padding: EdgeInsets.symmetric(horizontal: 2.0, vertical: 2.0),
child: InkWell(
child: Card(
elevation: 8.0,
child: FadeInImage.memoryNetwork(fit: BoxFit.cover,image: myimagelist[index].thumbnail, placeholder:kTransparentImage,fadeInCurve: Curves.bounceIn,),
),
)
);
},
childCount: 3, // Your desired amount of children here
),