首先是NestedScrollView组件,然后就直接添加SliverPersistentHeader组件,在组件中的delegate属性中加入咱们自定义的组件CommonSliverHeaderDelegate。 returnSafeArea( child: NestedScrollView( headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {return<Widget>[ SliverPersistentHeader( delegate: CommonSliv...
class HomeContent extends StatelessWidget { @override Widget build(BuildContext context) { return CustomScrollView( slivers: <Widget>[ SliverSafeArea( sliver: SliverPadding( padding: EdgeInsets.all(8), sliver: SliverGrid( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 2, crossAx...
// 头部Widget _buildHeader(BuildContext context,boolinnerBoxIsScrolled) {return// SliverOverlapAbsorber 的作用是处理重叠滚动效果,// 防止 CustomScrollView 中的滚动视图与其他视图重叠。SliverOverlapAbsorber( handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context), sliver:// SliverAppBar 的作用是创...
NestedScrollView是 Flutter 中的一个 Widget,它可以嵌套多个滚动视图,例如ListView、GridView、SliverAppBar等。NestedScrollView可以让多个滚动视图联动滚动,从而实现一些复杂的交互效果。 常见的业务场景: 一个页面上有多个可滚动的区域,而且这些区域之间的滚动是相互独立的,但是它们的滚动行为需要协调一致,比如一个列表和...
floating 的作用是:pinned 为false 时 ,则 header 可以滑出可视区域(CustomScrollView 的 Viewport)(不会固定到顶部),当用户再次向下滑动时,此时不管 header 已经被滑出了多远,它都会立即出现在可视区域顶部并固定住,直到继续下滑到 header 在列表中原来的位置时,header 才会重新回到原来的位置(不再固定在顶部)。
SliverGridDelegateWithFixedCrossAxisCount SliverGridDelegateWithMaxCrossAxisExtent SliverAnimatedList CustomScrollView简介 CustomScrollView是可以使用Sliver来自定义滚动模型(效果)的组件。它可以包含多种滚动模型。包括header,footer,CustomScrollView可以实现把多个彼此独立的可滑动widget组合起来。
SliverGridDelegateWithFixedCrossAxisCount SliverGridDelegateWithMaxCrossAxisExtent GridView.count GridView.extent GridView.builder 7.PageView与页面缓存 页面缓存 8.可滚动组件子项缓存 9.TabBarView TabBarView TabBar 10.CustomScrollView 和 Slivers Flutter 中常用的 Sliver SliverToBoxAdapter SliverPersistentHeader 11...
CustomScrollView 中使用的九宫格你不能再去使用 GridView了,在Sliver家族中,有SliverGridView,当然它与 GridView 的用法是一至的,代码如下: SliverGrid buildSliverGrid() { return SliverGrid( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( ///九宫格的列数 crossAxisCount: 3, ///子Widget 宽与高的比值...
SliverFixedExtentList:类似于SliverList只是可以设置滚动的高度; SliverGrid:类似于我们之前使用过的GridView; SliverPadding:设置Sliver的内边距,因为可能要单独给Sliver设置内边距; SliverAppBar:添加一个AppBar,通常用来作为CustomScrollView的HeaderView; SliverSafeArea:设置内容显示在安全区域(比如不让齐刘海挡住我们的内...
SliverFixedExtentList:类似于SliverList只是可以设置滚动的高度; SliverGrid:类似于我们之前使用过的GridView; SliverPadding:设置Sliver的内边距,因为可能要单独给Sliver设置内边距; SliverAppBar:添加一个AppBar,通常用来作为CustomScrollView的HeaderView; SliverSafeArea:设置内容显示在安全区域(比如不让齐刘海挡住我们的内...