Flutter入門筆記系列文章部分內(nèi)容來源于《Flutter 實(shí)戰(zhàn)》娶桦,如有侵權(quán)請(qǐng)聯(lián)系刪除掂恕!
在介紹組件和布局的時(shí)候限煞,或多或少會(huì)出現(xiàn)一些容器類,例如Padding锡搜、Container癣猾、ConstrainedBox等等。從本文開始余爆,我們將系統(tǒng)地學(xué)習(xí)如何使用這些容器類。
Padding
Padding用來為子元素添加填充夸盟,也就是指定子元素與容器邊界的距離蛾方,作用基本上與Android中ViewGroup的padding屬性相同。
const Padding({
Key key,
@required this.padding,
Widget child,
})
我們一般使用EdgeInsets類上陕,它是EdgeInsetsGeometry的一個(gè)子類桩砰,定義了一些設(shè)置填充的便捷方法。
EdgeInsets
我們看看EdgeInsets提供的便捷方法:
- fromLTRB(double left, double top, double right, double bottom):分別指定四個(gè)方向的填充释簿。
- all(double value) : 所有方向均使用相同數(shù)值的填充亚隅。
- only({left, top, right ,bottom }):可以設(shè)置具體某個(gè)方向的填充(可以同時(shí)指定多個(gè)方向)。
- symmetric({ vertical, horizontal }):用于設(shè)置對(duì)稱方向的填充庶溶,vertical指top和bottom煮纵,horizontal指left和right。
接下來逐個(gè)演示這四個(gè)方法的用法:
-
EdgeInsets.all
body: Padding(
padding: EdgeInsets.all(16),
child: Container(
color: Colors.blue,
)),
運(yùn)行效果
EdgeInsets.all
-
EdgeInsets.symmetric
body: Padding(
padding: EdgeInsets.symmetric(vertical: 48),
child: Container(
color: Colors.blue,
)),
運(yùn)行效果
EdgeInsets.symmetric
-
EdgeInsets.fromLTRB
body: Padding(
padding: EdgeInsets.fromLTRB(16, 32, 48, 64),
child: Container(
color: Colors.blue,
)),
運(yùn)行效果
EdgeInsets.fromLTRB
-
EdgeInsets.only
body: Padding(
padding: EdgeInsets.only(left: 16, bottom: 32),
child: Container(
color: Colors.blue,
)),
運(yùn)行效果
EdgeInsets.only