括号中的if语句在将ScrollDirection从正向更改为反向或相反时调用,而不是从正向更改为正向或相反

时间:2019-06-14 03:37:55

标签: flutter dart

我构建的应用程序完全类似于Facebook .. Facebook在第一排折叠的工具栏中包含用于搜索的TextField ..etc,其动态是:当您向下滚动时它被隐藏,而当您向上滚动时它又被显示,我试图制作类似此工具栏的东西..我已经做到了但是性能很差,我现在将向您展示我的代码

我已经尝试过使用SilverAppBar,并且90%都达到了我想要的目标。它的动态效果与facebook app崩溃的工具栏或searchbar不完全一样

处于初始化状态:-

    contraller.addListener(() => test());

在test()中,“在此setstate中的问题我每次滚动都将其称为”:-

    x = contraller.position.userScrollDirection;
    setState(() {

});


在Widget构建(BuildContext上下文)中:-

    return returnwidget();

在returnwidget()中:-


    if (x == ScrollDirection.reverse) {
      return Container();
    }

    if (x == ScrollDirection.forward || x == null) {
      retunrn Container(child : Row(etc ....);



    }

我认为解决方案被置于if语句中的setstate中,因此仅当ScrollDirection从正向更改为反向或从反向更改为正向时才调用它,而不是从正向更改为正向,这意味着继续向上滚动或相反。我发现我认为可以解决我问题的东西

     didUpdateScrollDirection(direction) 

但是我不能用它来查看结果。

0 个答案:

没有答案