column static method

Widget Function({required Widget? itemBuilder(BuildContext, int), int? itemCount}) column(
  1. BuildContext context, {
  2. double gap = 0.0,
  3. Widget? separatorBuilder(
    1. BuildContext,
    2. int
    )?,
  4. CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,
  5. MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,
  6. MainAxisSize mainAxisSize = MainAxisSize.max,
})

Creates a Column layout with all items rendered eagerly.

Implementation

static Widget Function({required Widget? Function(BuildContext, int) itemBuilder, int? itemCount}) column(
  BuildContext context, {
  double gap = 0.0,
  Widget? Function(BuildContext, int)? separatorBuilder,
  CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,
  MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,
  MainAxisSize mainAxisSize = MainAxisSize.max,
}) =>
    ({required itemBuilder, itemCount}) => Column(
          crossAxisAlignment: crossAxisAlignment,
          mainAxisAlignment: mainAxisAlignment,
          mainAxisSize: mainAxisSize,
          spacing: gap,
          children: List.generate(
            itemCount ?? 0,
            (index) => switch (index) {
              _ when separatorBuilder != null => [
                  separatorBuilder(context, index),
                  itemBuilder(context, index),
                ],
              _ => [itemBuilder(context, index)]
            },
          ).expand((element) => element).whereType<Widget>().toList(growable: false),
        );