我正在尝试实现类似于CureJoy iOS应用程序的东西,其中每个项目看起来都像一个独立的垂直列表项目,完全占据了屏幕高度,当我们向下滚动一点时,它会捕捉到占据整个屏幕高度的下一个项目。
NotificationListener(onNotification: ... // other code
listview的包装器,并调用处理滚动更改的函数
_func(ScrollNotification notification) {
... // other code
double scollPos = notification.metrics.pixels;
double toScroll = oldScrollPos;
newScrollPos = scrollPos;
if(newScrollPos < oldScrollPos)
toScroll -= rowHeight;
else
toScroll += rowHeight;
oldScrollPos = toScroll;
_scrollController.animateTo(toScroll,
duration: const Duration(milliseconds: 500),
curve: Curves.easeOut,
);
这是非常无效的,滚动到许多错误的位置,并在结束时抛出错误。
有没有一个非常优雅和简单的解决方案?
发布于 2018-07-22 15:45:43
对不起,朋友们,我在现有的东西上工作以获得想要的结果的天性让我付出了代价,但似乎有一个PageView类已经在Flutter中准备好了。啊,我觉得很丢脸!
https://stackoverflow.com/questions/51461376
复制相似问题