SingleChildScrollView類似於Android中的ScrollView,它只能接收一個子Widget。定義如下:
SingleChildScrollView({ this.scrollDirection = Axis.vertical, //滾動方向,默認是垂直方向 this.reverse = false, this.padding, bool primary, this.physics, this.controller, this.child, })
reverse:是否安州閱讀方向相反的方向滑動。
Primary:指是否使用widget樹中默認的PrimaryScrollController;當滑動方向為垂直方向(scrollDirection值為Axis.vertical)並且controller沒有指定時,primary默認為true。
示例
下面是一個大寫字母A-Z沿垂直方向顯示的例子,由於垂直方向空間不夠,所以使用SingleChildScrollView。
class SingleChildScrollViewTestRoute extends StatelessWidget { @override Widget build(BuildContext context) { String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; return Scrollbar( child: SingleChildScrollView( padding: EdgeInsets.all(16.0), child: Center( child: Column( //動態創建一個List<Widget> children: str.split("") //每一個字母都用一個Text顯示,字體為原來的兩倍 .map((c) => Text(c, textScaleFactor: 2.0,)) .toList(), ), ), ), ); } }
效果