build method
构建网格布局
使用GridView.builder实现动态布局,通过SliverGridDelegateWithFixedCrossAxisCount 控制网格参数,InkWell包裹子项处理点击交互
Implementation
@override
/// 构建网格布局
///
/// 使用[GridView.builder]实现动态布局,通过[SliverGridDelegateWithFixedCrossAxisCount]
/// 控制网格参数,[InkWell]包裹子项处理点击交互
@override
Widget build(BuildContext context) {
return GridView.builder(
itemCount: count,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: rowNumber,
mainAxisSpacing: spacing,
crossAxisSpacing: spacing,
),
itemBuilder: (context, index) {
Widget item = itemBuilder(selectedIndex == index, index, context);
return InkWell(
onTap: () {
onSelectIndex!(index);
},
child: item,
);
},
).pad(all: spacing);
}