Как вы можете узнать, когда пользователь переходит к следующему виджету в списке flutter (виджет раньше больше не был виден)

#flutter #dart

Вопрос:

У меня есть прокручиваемый список и я хочу что-то делать, когда прокручивается следующий виджет в списке. Как я могу это обнаружить? Я пробовал использовать NotificationListener и ScrollUpdateNotification, но видел только возможность использовать высоту каждого виджета, которая является гибкой, и было бы довольно некрасиво делать это так. Есть ли лучший способ? Например, посмотреть высоту пикселя виджета или есть функция, которую я мог бы использовать?

Ответ №1:

Вы должны иметь возможность отслеживать, какие элементы видны на экране с помощью:

 itemPositionsListener.itemPositions.addListener(() => ...);
 

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

Вот документация для получения дополнительной информации