Flutter開發(fā)-Layout -層疊布局(Stack和Positioned)

????????層疊布局也可以稱為相對布局,子Widget根據(jù)父容器的相對位置來確定布局,好比iOS中的AutoLayout,不過Flutter中是相對于父Widget,而AutoLayout不僅可以相對于父控件設置相對位置,還可以參考兄弟控件設置位置.Flutter中使用Stack和Positioned來實現(xiàn)子Widget的位置,Stack允許子Widget堆疊,Positioned可以給子Widget實現(xiàn)定位.

Stack

Stack({
    Key key,
    this.alignment = AlignmentDirectional.topStart,
    this.textDirection,
    this.fit = StackFit.loose,
    this.overflow = Overflow.clip,
    List<Widget> children = const <Widget>[],
  }) 

alignment:表示如何在某一軸上定位沒有使用Positioned的子Widget;
textDirection:和Row,Wrap中textDirection功能一樣,表示文字的從哪個方向開始;
fit:表示在沒有使用Positioned的子Widget如何適應Stack的大小.StackFit.loose表示使用子Widget的大小,StackFit.expand表示擴展到Stack的大小.
overflow:表示子Widget如果有越界表示如何處理,Overflow.clip表示越界被裁剪;Overflow.visible表示越界正常顯示,不裁剪.

Positioned

const Positioned({
    Key key,
    this.left,
    this.top,
    this.right,
    this.bottom,
    this.width,
    this.height,
    @required Widget child,
  }) 

top,left,bottom,right指的是子Widget距離Stack上,左,下,右的距離,width,height指的是子Widget的寬高.

基本使用:

ConstrainedBox(
        constraints: BoxConstraints.expand(),
        child: Stack(
          fit: StackFit.loose,
          alignment: Alignment.center,
          children: <Widget>[
            Container(
              child: Text("Hello Flutter",
                style: TextStyle(fontSize: 20.0),
              ),
              color: Colors.green,
              height: 50.0,
            ),
            Positioned(
              left: 20.0,
              top: 80.0,
              right: 120.0,
              height: 60.0,
              child: Text("Text 1",
                style: TextStyle(
                  backgroundColor: Colors.red
                ),
              ),
            ),
          ],
        ),
      ),
Stack
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末访雪,一起剝皮案震驚了整個濱河市步势,隨后出現(xiàn)的幾起案子徐块,更是在濱河造成了極大的恐慌设江,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件榕栏,死亡現(xiàn)場離奇詭異桑驱,居然都是意外死亡将塑,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門卜朗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拔第,“玉大人,你說我怎么就攤上這事场钉∥冒常” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵逛万,是天一觀的道長泳猬。 經(jīng)常有香客問我,道長宇植,這世上最難降的妖魔是什么得封? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮指郁,結果婚禮上忙上,老公的妹妹穿的比我還像新娘。我一直安慰自己闲坎,他們只是感情好晨横,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著箫柳,像睡著了一般手形。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悯恍,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天库糠,我揣著相機與錄音,去河邊找鬼。 笑死瞬欧,一個胖子當著我的面吹牛贷屎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播艘虎,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼唉侄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了野建?” 一聲冷哼從身側響起属划,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎候生,沒想到半個月后同眯,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡唯鸭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年须蜗,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片目溉。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡明肮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出缭付,到底是詐尸還是另有隱情晤愧,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布蛉腌,位于F島的核電站官份,受9級特大地震影響,放射性物質發(fā)生泄漏烙丛。R本人自食惡果不足惜舅巷,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望河咽。 院中可真熱鬧钠右,春花似錦、人聲如沸忘蟹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽媚值。三九已至狠毯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間褥芒,已是汗流浹背嚼松。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人献酗。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓寝受,卻偏偏與公主長得像,于是被迫代替她去往敵國和親罕偎。 傳聞我的和親對象是個殘疾皇子很澄,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容