Flutter入门 - Sliver

Sliver - 切片

SliverGrid

class MySliver extends StatelessWidget{

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return SliverGrid(
      gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
        crossAxisCount: 3,
        crossAxisSpacing: 16,
        mainAxisSpacing: 16
      ),
      delegate: SliverChildBuilderDelegate(_build,childCount: 50),
    );
  }


  Widget _build(BuildContext context, int index) {
    return Container(
      alignment: Alignment.center,
      color: Colors.purple,
      child: Text("shu $index"),
    );
  }
}
sliverPadding - 可设置padding

class MySliver extends StatelessWidget{

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return SliverPadding(
      padding: EdgeInsets.all(18.0),
      sliver: SliverGrid(
        gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 3,
            crossAxisSpacing: 16,
            mainAxisSpacing: 16
        ),
        delegate: SliverChildBuilderDelegate(_build,childCount: 50),
      ),
    );
  }


  Widget _build(BuildContext context, int index) {
    return Container(
      alignment: Alignment.center,
      color: Colors.purple,
      child: Text("shu $index"),
    );
  }
}

SliverList - 
SliverAppbar - 
CustomScrollView(
                slivers: <Widget>[
                  SliverAppBar(
//                    title: Text("差不多"),
                    pinned: true,
                    floating: true,
                    expandedHeight: 178.0,
                    flexibleSpace: FlexibleSpaceBar(
                      title: Text("ingha"),
                    ),
                  ),
                  MySliver()
                ],
              )
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容