[Flutter] 常用的布局容器

居中容器 Center

可以讓 child 在其中垂直和水平居中

Center(child: Text("Hello guys")
)

兩種處理間距布局容器 Container 和 Padding

Container 是負責對內(nèi)部 child 進行 padding 和 margin 處理虽界,會根據(jù) child 內(nèi)容自動適配大小汽烦。

Container(magin: EdgeInsets.all(20),
        padding: EdgeInsets.all(30),
        color: Colors.gray,
        child: Text("Hello"),
)

Padding 是只負責 child 的 padding,會根據(jù) child 自動適配大小

Padding(padding: EdgeInsets.all(20),
    child: Text("Hello"),
)

處理多個子視圖布局的容器 Row 和 Column

Row 和 Column 都用于包含多個子視圖(children)在同一方向上的排列布局 alignment莉御,Row 是橫向排列撇吞,Column 是縱向排列
其中有兩個主要屬性:

  1. mainAxisAlignment:主要方向子視圖的排列方式,Row(橫向)礁叔,Column(縱向)
  2. crossAxisAlignment: 是與主要方向正交的排列牍颈,即Row(縱向),Column(橫向)
    這兩個屬性是 Enum 類型晴圾,mainAxisAlignment 包括了以下主要成員:
  • start:內(nèi)容開始的位置(上或者左)
  • center:居中
  • end:(內(nèi)容結(jié)束的位置颂砸,下或者右)
  • spaceAround, spaceBetween, spaceEvenly:處理不同的子控件間距
    crossAxisAlignment 包括了一下主要成員:
  • start:內(nèi)容開始的位置(上或者左)
  • center:居中
  • end:(內(nèi)容結(jié)束的位置,下或者右)
  • baseline 內(nèi)容的基線
  • stretch:內(nèi)容拉伸鋪滿
    舉例布局一個子視圖數(shù)組的代碼如下:
Row(
    mainAxisAlignment: MainAxisAlignment.spaceBetween,
    crossAxisAlignment: CrossAxisAlignment.center,
    children: <Widget>[
        Text("Hello"),
        Text("World"),
        Text("Morning!"),
    ],
);

Column(
    mainAxisAlignment: MainAxisAlignment.spaceBetween,
    crossAxisAlignment: CrossAxisAlignment.center,
    children: <Widget>[
        Text("Hello"),
        Text("World"),
        Text("Morning!"),
    ],
);

注意死姚,對齊方式是以子視圖的內(nèi)容寬度來進行衡量的人乓,如果有一個 child 的別的容器則會考慮容器內(nèi)總的內(nèi)容 size 來衡量。

Flex 布局 Extended

為了讓一個控件具備松散的布局方式都毒,可以嵌套一個 Expanded 容器色罚,其有一個 flex 屬性可以決定其 flex 的權重。

Expanded(
    flex: 3
    child: Container(child: Text("Hello")
)

那么在一個父容器中账劲,多個 flex 容器可以進行對應權重的分布戳护,比如將一個圖片放入到一個 Expanded 容器后給定 flex 值進行大小的控制。

// 實現(xiàn)一個 2:1:1 的布局
Row(
    children: <Widget>[
    Expanded(
    flex: 2
    child: Container(child: Text("Hello")
    )瀑焦,
    Expanded(
    flex: 1
    child: Container(child: Text("Hello")
    )腌且,
    Expanded(
    flex: 1
    child: Container(child: Text("Hello")
    ),
],
)

分隔符 SizeBox 和 Divider

SizeBox 是一個占用特定寬榛瓮、高的容器铺董,舉例:

// 占用寬 10
SizeBox(width: 10);
// 占用高 20
SizeBox(height: 20;

Divider 是占用特定高度的分割線,舉例:

// 一條高為 20 厚度為 2 的分割線
Divider(
    height: 20,
    thickness: 2,
}
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末禀晓,一起剝皮案震驚了整個濱河市精续,隨后出現(xiàn)的幾起案子坝锰,更是在濱河造成了極大的恐慌,老刑警劉巖重付,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顷级,死亡現(xiàn)場離奇詭異,居然都是意外死亡确垫,警方通過查閱死者的電腦和手機弓颈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來森爽,“玉大人恨豁,你說我怎么就攤上這事∨莱伲” “怎么了橘蜜?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長付呕。 經(jīng)常有香客問我计福,道長,這世上最難降的妖魔是什么徽职? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任象颖,我火速辦了婚禮,結(jié)果婚禮上姆钉,老公的妹妹穿的比我還像新娘说订。我一直安慰自己,他們只是感情好潮瓶,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布陶冷。 她就那樣靜靜地躺著,像睡著了一般毯辅。 火紅的嫁衣襯著肌膚如雪埂伦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天思恐,我揣著相機與錄音沾谜,去河邊找鬼。 笑死胀莹,一個胖子當著我的面吹牛基跑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播描焰,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼涩僻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了栈顷?” 一聲冷哼從身側(cè)響起逆日,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎萄凤,沒想到半個月后室抽,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡靡努,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年坪圾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惑朦。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡兽泄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出漾月,到底是詐尸還是另有隱情病梢,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布梁肿,位于F島的核電站蜓陌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吩蔑。R本人自食惡果不足惜钮热,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望烛芬。 院中可真熱鬧隧期,春花似錦、人聲如沸赘娄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽擅憔。三九已至鸵闪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間暑诸,已是汗流浹背蚌讼。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留个榕,地道東北人篡石。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像西采,于是被迫代替她去往敵國和親凰萨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345