sliver之SingleChildScrollView

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class SingleChildScrollViewTest extends StatefulWidget {
  const SingleChildScrollViewTest({Key? key}) : super(key: key);

  @override
  _SingleChildScrollViewTestState createState() => _SingleChildScrollViewTestState();
}

class _SingleChildScrollViewTestState extends State<SingleChildScrollViewTest> {
  late ScrollController _scrollController;

  @override
  void initState() {
    super.initState();
    _scrollController = ScrollController(initialScrollOffset: 0);
  }

  /**
  *有一个子widget的可滚动的widget,子内容超过父容器时可以滚动
  *scrollDirection = Axis.vertical:滑动方向
  *reverse = false:是否倒序
  *padding:内边距
  *primary:当内容不足以滚动时,是否支持滚动;
  *physics:控制用户滚动视图的交互
  *controller:滑动控制器
  *child:*/

  @override
  Widget build(BuildContext context) => Scaffold(
      appBar: AppBar(
        title: const Text('SingleChildScrollViewTest'),
      ),
      body:  SingleChildScrollView(
        controller: _scrollController,
        reverse: true,
        child: ListBody(
          children: _myChildren(),
        ),
        restorationId: "sss",
      ),
    );
  _myChildren() {
    return [
      Container(
        height: 300,
        color: Colors.blue,
      ),
      Container(
        height: 300,
        color: Colors.yellow,
      ),
      Container(
        height: 300,
        color: Colors.red,
      ),
      Container(
        height: 300,
        color: Colors.green,
      ),
    ];
}


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容