build method

  1. @override
  2. @override
Widget build(
  1. BuildContext context
)
override

构建网格布局

使用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);
}