美文网首页
2020-05-16 Flutter SliverPersist

2020-05-16 Flutter SliverPersist

作者: rub1cky | 来源:发表于2020-05-16 16:23 被阅读0次

SliverPersistentHeader是在CustomScrollView中需要在滚动中固定在页面顶部的元素

 const SliverPersistentHeader({
    Key key,
    @required this.delegate,
    this.pinned = false,
    this.floating = false,
  })

其中pinned和floating 不能同时为true
通过切换pinned改变固定状态

其中delegate需要实现SliverPersistentHeaderDelegate
重写其中的build方法实现子类容器, shouldRebuild方法中根据用户自定义重绘条件返回布尔值

class StickyTabBarDelegate extends SliverPersistentHeaderDelegate {
  final TabBar child;

  StickyTabBarDelegate({@required this.child});

  @override
  Widget build(BuildContext context, double shrinkOffset, bool overlapsContent) {
    return this.child;
  }

  @override
  double get maxExtent => this.child.preferredSize.height;

  @override
  double get minExtent => this.child.preferredSize.height;

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

作者:SmallStoneSK
链接:https://juejin.im/post/5d3e5b65e51d45775f516b6e

相关文章

网友评论

      本文标题:2020-05-16 Flutter SliverPersist

      本文链接:https://www.haomeiwen.com/subject/pxkrohtx.html