Флаттер — как предотвратить прокрутку дальше указанного предела (прокручивается)

#flutter #user-interface #scroll #scrollable

Вопрос:

Я хотел бы запретить пользователю прокручивать больше указанного смещения. Мой код приведен ниже:

    child: Scrollable(
            controller: _scrollController,
            axisDirection: AxisDirection.right,
            viewportBuilder: (BuildContext context, ViewportOffset offset) {
              return Viewport(axisDirection: AxisDirection.right, offset: offset, center: forwardListKey, slivers: [
                leftSide,
                rightSide,
              ]);
            },
          ),
 

В принципе, я могу использовать NotificationListener для расчета, если _scrollController.offset превышает указанный предел, и использовать .jumpTo(limit) сразу после прокрутки. Но я хотел бы запретить пользователю прокручивать больше, чем разрешено. Кроме того, я не хочу слушать дальше ScrollUpdateNotification , чтобы повысить производительность.