handlePointDecrease method

  1. @override
void handlePointDecrease(
  1. double pointOffset
)
override

Implementation

@override
void handlePointDecrease(double pointOffset) {
  if (nextAliveControllerEntry == null) {
    if (controllers.last.triggerValue > pointOffset) {
      nextAliveControllerEntry = controllers.last;
      if (nextAliveControllerEntry!.controller.status !=
              AnimationStatus.reverse ||
          nextAliveControllerEntry!.controller.status !=
              AnimationStatus.dismissed) {
        nextAliveControllerEntry!.controller.reverse();
        notifier?.value = nextAliveControllerEntry!;
      }
    }
  } else {
    while (nextAliveControllerEntry!.triggerValue >= pointOffset) {
      if (nextAliveControllerEntry!.controller.status !=
              AnimationStatus.reverse &&
          nextAliveControllerEntry!.controller.status !=
              AnimationStatus.dismissed) {
        nextAliveControllerEntry!.controller.reverse();
        notifier?.value = nextAliveControllerEntry!;
      }
      nextAliveControllerEntry = nextAliveControllerEntry?.previous;
      if (nextAliveControllerEntry == null) {
        //在这边 已经达到0起点
        nextAliveControllerEntry = controllers.first;
        notifier?.value = nextAliveControllerEntry!;
        break;
      }
    }
  }
}