build method

Widget build({
  1. required Widget measuredChild,
  2. ScrollController? scrollController,
  3. ScrollPhysics? physics,
})

生成 EasyRefresh 实例。

Implementation

Widget build({
  required Widget measuredChild,
  ScrollController? scrollController,
  ScrollPhysics? physics,
}) {
  return EasyRefresh.builder(
    controller: controller,
    header: header,
    footer: footer,
    onRefresh: onRefresh,
    onLoad: onLoad,
    notRefreshHeader: notRefreshHeader,
    notLoadFooter: notLoadFooter,
    simultaneously: simultaneously ?? false,
    canRefreshAfterNoMore: canRefreshAfterNoMore ?? false,
    canLoadAfterNoMore: canLoadAfterNoMore ?? false,
    resetAfterRefresh: resetAfterRefresh ?? true,
    refreshOnStart: refreshOnStart ?? false,
    refreshOnStartHeader: refreshOnStartHeader,
    callRefreshOverOffset: callRefreshOverOffset ?? 20,
    callLoadOverOffset: callLoadOverOffset ?? 20,
    spring: spring,
    frictionFactor: frictionFactor,
    scrollBehaviorBuilder: scrollBehaviorBuilder,
    triggerAxis: triggerAxis,
    scrollController: this.scrollController ?? scrollController,
    childBuilder: (context, refreshPhysics) {
      // 优先使用 refreshPhysics 以确保下拉刷新功能正常工作
      final ScrollPhysics effectivePhysics = refreshPhysics;
      final ScrollController? effectiveController =
          this.scrollController ?? scrollController;
      return SingleChildScrollView(
        controller: effectiveController,
        physics: effectivePhysics,
        primary: effectiveController == null,
        child: measuredChild,
      );
    },
  );
}