iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
Mobile Development

初窺Flutter系列 第 12

Row&Column(水平與垂直布局)

  • 分享至 

  • xImage
  •  

RowColumn widgets 用於創建水平和垂直排列的元素。我們可以用它來決定子widgets的排列方式。

Row(水平布局)

Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
            title: Text(' Flutter Row '),  //AppBar中的文字
            backgroundColor: Colors.purple //更改AppBar的顏色
        ),
        body: new Row( //水平排列
          children: <Widget>[
            Icon(Icons.star),
            Text('5 Stars'),
          ],
        ),
      ),

    );

結果:可以看到包裹在Row 底下的widgets:iconText都呈現水平排列的形式
https://ithelp.ithome.com.tw/upload/images/20230927/201626847e6jyWFTYq.png

Column(垂直布局)
(把Row的部分改成Column)

Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
            title: Text(' Flutter Column '),  //AppBar中的文字
            backgroundColor: Colors.purple //更改AppBar的顏色
        ),
        body: new Column( //垂直排列
          children: <Widget>[
            Icon(Icons.star),
            Text('5 Stars'),
          ],
        ),
      ),
    );
  }

結果:可以看到包裹在Column底下的widgets:iconText都呈現垂直排列的形式
https://ithelp.ithome.com.tw/upload/images/20230927/20162684EapSF89weq.png

Row&Column兩者的共性:
1.主要軸和交叉軸:Column使用主要軸(main axis)作為垂直軸*(子widgets將按照mainAxisAlignment的值進行排列),使用交叉軸(cross axis)作為水平軸(子widgets將根據crossAxisAlignment的值進行排列)*。
2.主要軸&交叉軸對齊方式: 使用 mainAxisAlignment 屬性來控制子 widgets 在主要軸上的對齊方式。ex:CrossAxisAlignment.start(左)、CrossAxisAlignment.center(中)、CrossAxisAlignment.end(右)


上一篇
AppBar(應用程式列)
下一篇
Stack(堆疊)
系列文
初窺Flutter30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言