【问题标题】:Flutter Scrollable ListView get Top Value of all ItemsFlutter Scrollable ListView 获取所有项目的最高值
【发布时间】:2021-10-02 13:29:42
【问题描述】:

我正在使用 Flutter 2 并有一个 ListView 构建器,其中构建了小部件,就像您在所附屏幕截图中看到的那样。

在顶部我有一个水平滚动菜单,其中列出了所有类别。

我的目标是,我想知道可垂直滚动的 ListView 中的哪个项目具有哪个 Top Value(位置),以便我可以使用 ScrollController 估计当前可见的类别(并且可以在菜单中突出显示)顶部 - 就像这里的“类别 1”)。

希望你明白我的意思。

我想渲染所有列表,并拥有蓝色类别框的所有顶部值(如果可能,加上高度)。

我怎样才能做到这一点?

【问题讨论】:

  • 如果我能正确理解你;你想知道列表中哪个元素占据了最上面的位置吗?

标签: flutter dart


【解决方案1】:

您可以使用此visibility_detector 包来检测小部件何时出现在设备的视口中。

您应该查看的另一个包应该是view_notifier_list 包。应该可以解决的

【讨论】:

  • 这是一个好主意,对我来说问题是:如果我将每个列表项包装在一个自己的 VisiblityDetector 中,并且它们会抛出每个更改。如果我在一页上看到 3 或 4 个不同的项目怎么办...我如何知道哪一个是所需的(我希望最上面的人负责标题突出显示)?
  • 我已经编辑了我的答案以提供另一个包来解决您的问题,我认为应该这样做。
  • 太好了,是的,view_notifier_list 正是我想要的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-18
  • 1970-01-01
  • 2011-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-29
相关资源
最近更新 更多