知识要点:
SingleChildScrollView
类似Android
中的ScrollView
,只接收一个子组件。
SingleChildScrollView({
this.scrollDirection = Axis.vertical, //滚动方向,默认是垂直方向
this.reverse = false,
this.padding,
bool primary,
this.physics,
this.controller,
this.child,
})
其中reverse
是滑动方向,默认初始竖直方向,且滚动位置在头部,如果是水平方向的话,为true
的情况下,则是从右向左滑,
其中primary
指的是否使用widget树中默认的PrimaryScrollController
,当滑动方向为垂直方向时,没有指定controller
,这时候默认为true
注意事项:
通常
SingleChildScrollView
在期望的内容不会超过屏幕太多时使用,这是因为SingleChildScrollView
不支持基于Sliver的延迟实例化模型,所以如果预计视口可能包含超出屏幕尺寸太多的内容时,那么使用SingleChildScrollView
将会非常昂贵(性能差),此时应该使用一些支持Sliver(薄片)延迟加载的可滚动组件,如ListView
这里是告诉自己,如果布局页面超过了2倍左右的话,用ListView
或者CustomScrollView