知識要點:
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