finishLoading method

void finishLoading()

完成加载

Implementation

void finishLoading() {
  if (!floating) {
    return;
  }

  endLoading().then((_) {
    if (!mounted) {
      return;
    }

    // 临时修复bug:当加载完成时指示器快速消失
    if (mounted) {
      Scrollable.of(context).position.correctBy(0.00001);
    }

    WidgetsBinding.instance.addPostFrameCallback((_) {
      if (mounted) {
        // 更新上一次加载的高度和最大滚动范围
        lastLoadedHeight = _position!.maxScrollExtent - lastMaxScrollExtend;
        lastMaxScrollExtend = _position!.maxScrollExtent;

        // 如果超出范围,触发弹性滚动
        if (_position?.outOfRange == true) {
          activity!.delegate.goBallistic(0);
        }
      }
    });

    setState(() {
      floating = false;
    });
  });
}