我设法解决了。SliverAppBar有一个名为的属性
flexibleSpace。在这里,您放置了一个
FlexibleSpaceBar包含
background属性的。现在,不要上当,这不仅限于纯色或图像。它可以带任何您想要的小部件。就我而言,我想添加一个搜索栏。并且因为此属性将填充整个
expandedHeight属性,所以您想添加一个小的空白,以使自定义窗口小部件不会在SliverAppBar上绘制。这是相关的代码段:
flexibleSpace: FlexibleSpaceBar( background: Column( children: <Widget>[ SizedBox(height: 90.0), Padding( padding: const EdgeInsets.fromLTRB(16.0, 6.0, 16.0, 16.0), child: Container( height: 36.0, width: double.infinity, child: CupertinoTextField( keyboardType: TextInputType.text, placeholder: 'Filtrar por nombre o nombre corto', placeholderStyle: TextStyle(color: Color(0xffC4C6CC),fontSize: 14.0,fontFamily: 'Brutal', ), prefix: Padding(padding: const EdgeInsets.fromLTRB(9.0, 6.0, 9.0, 6.0),child: Icon( Icons.search, color: Color(0xffC4C6CC),), ), decoration: BoxDecoration(borderRadius: BorderRadius.circular(8.0),color: Color(0xffF0F1F5), ), ), ), ), ], ), ), ),
这就是结果。滚动向上滚动时,搜索栏将消失。希望这对想要这样做的人有所帮助。



