flutter - 使用 NestedScrollView,向上滚动会将其他选项卡重置为上方
问题描述
在将 SliverAppBar 与 NestedScrollView 中的某些选项卡结合使用时,使用 PageStorageKey 可能无法保持滚动位置。
模式 A:
将左侧选项卡滚动到中间并切换到右侧选项卡。将右选项卡滚动到中间并返回到左选项卡。在这种情况下,左选项卡保持滚动位置。
模式 B:
将左侧选项卡滚动到中间并切换到右侧选项卡。显示右侧选项卡的顶部并向上滚动,返回左侧选项卡。在这种情况下,左侧选项卡不保留滚动位置(滚动位置将为 0)
无论您显示哪个选项卡,滚动到顶部并展开 SliverAppBar。NestedScrollview 中所有 ScrollView 的位置似乎都重置到了顶部。
即使在模式 B 的情况下,如何保持左侧标签滚动位置?
这是我的代码。 https://gist.github.com/ysknsn/d90a84a180e32de5b0691de874c65d55
这是屏幕截图。 (SliverAppBar 向下滚动时收缩,向上滚动时展开)
任何建议都是有帮助的。谢谢。
解决方案
您是否尝试在您的状态下存储滚动控制器的当前滚动偏移量?然后,您可以将此值作为初始滚动偏移量传递给 build 方法。
推荐阅读
- authentication - HERE API - 400 错误请求错误 - 令牌生成
- reactjs - Generating index.js files exporting all (thousands) components
- java - 使用 Spring Data Rest 引发自定义异常
- bash - Bash:ls 无法访问使用引号的路径
- flutter - 我想从 safari 浏览器下载 pdf
- reactjs - django-rest-auth 注销 CSRF 失败
- python - 如何计算二叉搜索树中节点的总和和总数?
- azure - Azure DevOps - Github 状态检查
- php - 从 wooCommerce 中的帐户页面隐藏下载链接
- node.js - 在 IBM iSeries 上使用 node express,我们应该使用工作线程还是集群?