Флаттер: как заставить ScrollController пересчитать положение. MaxExtents? - PullRequest
0 голосов
/ 25 марта 2020

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

Моя полоса прокрутки совместно использует ScrollController со списком и использует position.maxExtents для знать, насколько велика область контента.

Проблема в том, что когда я изменяю количество строк, maxExtents не будет обновляться до тех пор, пока не будет инициировано scrollEvent.

Я работал с кодом например, перемещение на 1px вверх и 1px вниз за 100 мс:

widget.controller.jumpTo(controller.position.pixels + 1);
Future.microtask(() => widget.controller.animateTo(controller.position.pixels - 1, duration: 100.milliseconds, curve: Curves.linear));

Что очень хорошо работает, когда список можно прокручивать. Однако, когда список <высота представления, он не может прокручиваться, и эти вызовы не имеют никакого эффекта, и я застрял с устаревшим maxExtents. </p>

Как я могу просто сказать список: Эй, список, пересчитать своих детей!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...