Flutter基础篇(二十三)—— SingleChildScrollView

SingleChildScrollView

SingleChildScrollView 只能接受一个子组件,定义如下:

SingleChildScrollView({
  this.scrollDirection = Axis.vertical, //滚动方向,默认是垂直方向
  this.reverse = false, 
  this.padding, 
  bool primary, 
  this.physics, 
  this.controller,
  this.child,
})
  • reverse —— 决定初始可滑动的方向,默认值取决于语言环境,如果将该属性改为 true ,那么初始可滚动方向就会被设置为当前语言环境阅读的反方向。
  • primary —— 是否使用 widget 树中默认的 PrimaryScrollController

需要注意的是,通过 SingleChildScrollView 只应在期望的内容不会超过屏幕太多时使用,因为它不支持基于 Sliver 的延迟实例化模型,所以如果内容过多会导致它的性能下降。

示例:将大写字母 A-Z 沿垂直方向显示。

class SingleChildScrollViewWidget extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    String str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    return Scrollbar(
      child: SingleChildScrollView(
        padding: EdgeInsets.all(16),
        child: Center(
          child: Column(
            children: str.split('').map((e){
              return Text(e,textScaleFactor:2);
            }).toList(),
          ),
        ),
      ),
    );
  }
}

你可能感兴趣的:(Flutter,基础篇)