flutter - 使用 NestedScrollView,向上滚动会将其他选项卡重置为上方

标签 flutter dart flutter-sliver

当 SliverAppBar 与 NestedScrollView 中的某些选项卡组合时,使用 PageStorageKey 可能无法保持滚动位置。

模式A:

将左侧选项卡滚动到中间,然后切换到右侧选项卡。 将右侧选项卡滚动到中间,然后返回左侧选项卡。 在这种情况下,左标签保持滚动位置。

模式 B:

将左侧选项卡滚动到中间,然后切换到右侧选项卡。 显示右侧选项卡的顶部并向上滚动,返回到左侧选项卡。 在这种情况下,Left 选项卡不保留滚动位置(滚动位置将为 0)

无论您显示的是哪个选项卡,滚动到顶部并展开 SliverAppBar。 NestedScrollview 中所有 ScrollView 的位置好像都重置到了顶部。

即使在模式 B 的情况下, 如何保持左侧标签滚动位置?

这是我的代码。 https://gist.github.com/ysknsn/d90a84a180e32de5b0691de874c65d55

这是截图。 enter image description here (SliverAppBar 向下滚动时缩小,向上滚动时展开)

任何建议都是有帮助的。谢谢。

最佳答案

您是否尝试过在您的状态下存储滚动 Controller 的当前滚动偏移量?然后您可以在构建方法中将此值作为初始滚动偏移量传递。

关于flutter - 使用 NestedScrollView,向上滚动会将其他选项卡重置为上方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57024554/

相关文章:

flutter - 如何在 flutter 中更改 DrawerHeader 的高度?

flutter - 未实现的缺失静态目标处理,Flutter

flutter 测试: Look for a widget inside of another widget

flutter - TextInputAction.next使键盘消失

dart - setter 'msg=' 在 null 上被调用

Flutter - 将背景渐变应用于可 ScrollView

flutter - 在Flutter WEB上分享到Facebook

flutter - 如何指定 CustomScrollView 滚动到 Flutter 中的 Sliver 小部件?

flutter - 滚动时在 Flutter SliverAppBar 中隐藏标题

flutter - 如何在 SliverList 中显示滚动条?