Flutter CustomScrollView要点

本文探讨了Flutter的CustomScrollView组件,它用于整合多个独立滚动的布局,确保联动滑动效果。CustomScrollView允许包含多个Sliver子组件,如SliverAppBar和SliverList,这些子组件不包含自身的滚动模型,适合构建复杂滚动界面。通过使用Sliver版本的可滚动组件,开发者可以创建具有高级滚动特性的应用界面。
摘要由CSDN通过智能技术生成

在上篇文章中我们学了SingleChildScrollView这个滑动控件,现在我们学习一下CustomScrollView这个控件。

CustomScrollView这个控件是针对多个滚动布局的组件,比如顶部一个GridView,底部又来一个ListView,而要求两个界面具有联动性,如果是单纯的GridViewListView的话,这时候并不能保证一致的滑动性,比如,GridView滑动完ListView再进行滑动。这时候我们就需要一个胶水,把这些彼此独立的可滚动组件起来,恰恰CustomScrollView就是胶水的角色。所以:CustomScrollView可以又多个滑动的组件,且它的子组件都是遵循Sliver(薄片)的功能,共用CustomScrollViewScrollable。一般的,这些组件差不多都是Sliver开头,如:

SliverAppBar,
SliverPadding,
SliverFixedExtentList,
SliverList

等等。

如何区分一个子组件是否是Sliver

如果直接将ListView、GridView作为CustomScrollView是不行的,因为它们本身是可滚动组件而并不是Sliver!因此,为了能让可滚动组件能和CustomScrollView配合使用,Flutter提供了一些可滚动组件的Sliver版,如SliverList、SliverGrid等。实际上Sliver版的可滚动组件和非Sliver版的可滚动组件最大的区别就是前者不包含滚动模型(自身不能再滚动),而后者包含滚动模型

个人通俗一点理解就是:ListView、GridView这些组件本身已经是可滚动组件了,所以它们就不能再被嵌套在CustomScrollView中了。

而在CustomScrollView中的Sliver(薄片)组件多以Sliver开头,如SliverAppBarSliverList等等。

下面引用一段CustomScrollView中含多个Sliver薄片的代码,页面。

import 'package:flutter/material.dart';

class CustomScrollViewTestRoute extends StatelessWidget {
   
  @override
  Widget build
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值