将SliverAppBar与NestedScrollView中的某些选项卡结合使用时,使用PageStorageKey可能不会保留滚动位置。
模式A:
将“左”选项卡滚动到中间,然后切换到“右”选项卡。 将“右”选项卡滚动到中间,然后返回“左”选项卡。 在这种情况下,“左”选项卡将保持滚动位置。
模式B:
将“左”选项卡滚动到中间,然后切换到“右”选项卡。 显示“右”选项卡的顶部并向上滚动,返回到“左”选项卡。 在这种情况下,“左”标签将不保留滚动位置(滚动位置将为0)
无论显示哪个选项卡,都滚动到顶部并展开SliverAppBar。 NestedScrollview中所有ScrollView的位置似乎都重置为顶部。
即使是模式B, 如何保持左侧标签滚动位置?
这是我的代码。 https://gist.github.com/ysknsn/d90a84a180e32de5b0691de874c65d55
这是屏幕截图。 (SliverAppBar在向下滚动时会收缩,而在向上滚动时会扩展)
任何建议都是有帮助的。谢谢。
答案 0 :(得分:0)
您是否曾尝试在您的状态下存储滚动控制器的当前滚动偏移量?然后,您可以在build方法中将此值作为初始滚动偏移量传递。