Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 滑盖式弹性空间';不显示在滚动备份中_Flutter_Dart_Flutter Sliver_Sliverappbar - Fatal编程技术网

Flutter 滑盖式弹性空间';不显示在滚动备份中

Flutter 滑盖式弹性空间';不显示在滚动备份中,flutter,dart,flutter-sliver,sliverappbar,Flutter,Dart,Flutter Sliver,Sliverappbar,我在SliverAppBar中使用flexibleSpace,当我向上滚动时,使用floating:true、pinted:false、snap:true。它显示AppBar和flexibleSpace。但我想要的是,当用户向下滚动时,它应该隐藏应用程序栏和flexibleSpace,当用户向上滚动时,它应该只显示应用程序栏。直到滚动到页面的第一页,它也应该显示flexibleSpace。据我所知,SilverAppBar中没有方便的设置来满足您的需要 这可能不是最好的解决办法。但在某些情况下,

我在SliverAppBar中使用flexibleSpace,当我向上滚动时,使用floating:true、pinted:false、snap:true。它显示AppBar和flexibleSpace。但我想要的是,当用户向下滚动时,它应该隐藏应用程序栏和flexibleSpace,当用户向上滚动时,它应该只显示应用程序栏。直到滚动到页面的第一页,它也应该显示flexibleSpace。

据我所知,SilverAppBar中没有方便的设置来满足您的需要

这可能不是最好的解决办法。但在某些情况下,它可以起作用:

  • 在SliverAppBar()中设置
    浮动:true
    固定:false
    (默认值为false)

  • 带有滚动位置的控件
    展开高度


  • SliverAppBar
    具有固定的、有限的功能,如果您想要更复杂的东西,请使用
    SliverPersistentHeader
    ScrollController _scrollController;
    bool _top;
    double _expandH;
    double _collapseH;
    
    @override
    void initState() {
      _collapseH = 50;
      _expandH = 150;
      _top = false;
      _scrollController = ScrollController()..addListener(() {
        if(_scrollController.offset == 0 && !_top) {
          setState(() {
            _top = true;
            _scrollController.position.correctPixels(_expandH-_collapseH);
          });
        }else if(_top && _scrollController.offset > _expandH-_collapseH) {
          setState(() {
            _top = false;
            _scrollController.position.correctPixels(0);
          });
        }
      });
      super.initState();
    }
    
    ...
    
    CustomScrollView(
      controller: _scrollController,
      slivers: [
        SliverAppBar(
          floating: true,
          // pinned: false,
          expandedHeight:_top ? _expandH: _collapseH,
          ...