Flutter 如何在Flatter中的滚动视图中将容器或任何其他小部件固定在appbar下方

Flutter 如何在Flatter中的滚动视图中将容器或任何其他小部件固定在appbar下方,flutter,scrollview,flutter-layout,flutter-sliver,customscrollview,Flutter,Scrollview,Flutter Layout,Flutter Sliver,Customscrollview,我希望在滚动屏幕时,在应用程序下方放置一个小部件。 屏幕包含一个浮动应用程序栏,具有灵活的空间(滑动应用程序栏),在其下方有一个容器或选项卡视图。 链接中的视频就是我想要的效果的例子。我有一个解决您特定问题的方法,最近实现了一些与您想要的非常相似或相同的东西,但我找不到您谈论的与您试图实现的效果的视频的链接。你能编辑并上传视频的链接吗?这样我就可以查看了,这样我就可以为你的问题提供精确的解决方案了 好吧,我想我现在明白你的意思了。您需要实现CustomScrollView CustomScrol

我希望在滚动屏幕时,在应用程序下方放置一个小部件。 屏幕包含一个浮动应用程序栏,具有灵活的空间(滑动应用程序栏),在其下方有一个容器或选项卡视图。
链接中的视频就是我想要的效果的例子。

我有一个解决您特定问题的方法,最近实现了一些与您想要的非常相似或相同的东西,但我找不到您谈论的与您试图实现的效果的视频的链接。你能编辑并上传视频的链接吗?这样我就可以查看了,这样我就可以为你的问题提供精确的解决方案了

好吧,我想我现在明白你的意思了。您需要实现CustomScrollView

CustomScrollView(
              slivers: <Widget>[
                SliverAppBar(
                    // Your appbar goes here
                    ),
                SliverPersistentHeader(
                  pinned: true,
                  delegate: PersistentHeader(
                    widget: Row(
                      // Format this to meet your need
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      children: <Widget>[
                        Text('Hello World'),
                        Text('Hello World'),
                        Text('Hello World'),
                      ],
                    ),
                  ),
                ),
              ],
            ),
如果您遇到任何其他问题,请告诉我

class PersistentHeader extends SliverPersistentHeaderDelegate {
  final Widget widget;

  PersistentHeader({this.widget});

  @override
  Widget build(
      BuildContext context, double shrinkOffset, bool overlapsContent) {
    return Container(
      width: double.infinity,
      height: 56.0,
      child: Card(
        margin: EdgeInsets.all(0),
        color: Colors.white,
        elevation: 5.0,
        child: Center(child: widget),
      ),
    );
  }

  @override
  double get maxExtent => 56.0;

  @override
  double get minExtent => 56.0;

  @override
  bool shouldRebuild(SliverPersistentHeaderDelegate oldDelegate) {
    return true;
  }
}