flutter 页面滚动条
2020年7月14日 21:51
编程技术
GridView、ListView
嵌套使用需要在子列表添加
shrinkWrap:true,    // 处理列表嵌套报错
physics: NeverScrollableScrollPhysics(),      // 处理子列表中滑动父级列表无法滑动
CustomScrollView
子项可以是列表或其他部件
如果是列表则使用 SliverList 、 SliverFixedExtentList 、 SliverGrid
如果是其他部件则必须使用 SliverToBoxAdapter
SliverList 和 SliverFixedExtentList 的区别,如果知道高度 则推荐用 SliverFixedExtentList
例如
标题栏
SliverFixedExtentList(
    itemExtent: 50,                             // 是设置每一个子元素的高度
    delegate: SliverChildListDelegate(
        <Widget>[
            Container(
                color: Colors.white,
                height: 50,
                child: Center(
                    child: Text(title),
                ),
            )
        ],
    ),
)
两列商品类别
SliverGrid(
    gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
        crossAxisCount: 2,
        mainAxisSpacing: 1.0,
        crossAxisSpacing: 1.0,
        childAspectRatio: 0.7,
    ),
    delegate: SliverChildBuilderDelegate((BuildContext context, int index) {
        return ProductItem(
            item: data[index],
        );
    }, childCount: data.length),
),