Flutter初步探索(二)使用Tabs

綜述

在Material的設(shè)計(jì)準(zhǔn)則里面窗价,tabs是一個(gè)常用的模塊胜卤。Flutter里面包含了 material library創(chuàng)建tab布局的簡便方法

一益缎、指引

  1. 創(chuàng)建一個(gè) TabController
  2. 創(chuàng)建tab頁
  3. 為每個(gè)tab創(chuàng)建內(nèi)容

1. 創(chuàng)建一個(gè) TabController

為了使tab起作用有缆,我們需要保持選中的tab和相關(guān)內(nèi)容同步。這就是 TabController的職責(zé)锉矢。

我們可以手動(dòng)創(chuàng)建TabController,也可以使用DefaultTabController小部件齿尽。使用DefaultTabController是最簡單的選項(xiàng)沽损,因?yàn)樗鼘槲覀儎?chuàng)建一個(gè)TabController,并使它可用于所有子類Widget循头。

DefaultTabController(
  // The number of tabs / content sections we need to display
  length: 3,
  child: // See the next step!
);

2. 創(chuàng)建tab頁

現(xiàn)在我們已經(jīng)有個(gè)一個(gè)TabController,我們可以TabBar Widget去使用創(chuàng)建我們的tab绵估。在這個(gè)示例中,我們將會(huì)在一個(gè)AppBar下.創(chuàng)建一個(gè)包含3個(gè)Tab Widgets 的TabBar卡骂。

DefaultTabController(
  length: 3,
  child: Scaffold(
    appBar: AppBar(
      bottom: TabBar(
        tabs: [
          Tab(icon: Icon(Icons.directions_car)),
          Tab(icon: Icon(Icons.directions_transit)),
          Tab(icon: Icon(Icons.directions_bike)),
        ],
      ),
    ),
  ),
);

默認(rèn)情況下国裳,TabBar在Widget樹中查找最近的DefaultTabController。如果是手動(dòng)創(chuàng)建的TabController全跨,則需要將其傳遞到“TabBar”缝左。

3. 為每個(gè)tab創(chuàng)建內(nèi)容

既然我們有了選項(xiàng)卡,那么我們就需要在選擇選項(xiàng)卡時(shí)顯示相關(guān)的內(nèi)容。因此渺杉,我們將使用TabBarView Widget.

備注:順序很重要蛇数,必須與TabBar中的選項(xiàng)卡的順序相對(duì)應(yīng)!

TabBarView(
  children: [
    Icon(Icons.directions_car),
    Icon(Icons.directions_transit),
    Icon(Icons.directions_bike),
  ],
);

4. 完整例子

import 'package:flutter/material.dart';

void main() {
  runApp(TabBarDemo());
}

class TabBarDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: DefaultTabController(
        length: 3,
        child: Scaffold(
          appBar: AppBar(
            bottom: TabBar(
              tabs: [
                Tab(icon: Icon(Icons.directions_car)),
                Tab(icon: Icon(Icons.directions_transit)),
                Tab(icon: Icon(Icons.directions_bike)),
              ],
            ),
            title: Text('Tabs Demo'),
          ),
          body: TabBarView(
            children: [
              Icon(Icons.directions_car),
              Icon(Icons.directions_transit),
              Icon(Icons.directions_bike),
            ],
          ),
        ),
      ),
    );
  }
}

二是越、效果圖

效果圖

三耳舅、原文鏈接

1.Flutter初步探索(二)使用Tabs

四、參考文檔

1.Working with Tabs

五倚评、公眾號(hào)

不器猿
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末浦徊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蔓纠,更是在濱河造成了極大的恐慌辑畦,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腿倚,死亡現(xiàn)場離奇詭異纯出,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)敷燎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門暂筝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人硬贯,你說我怎么就攤上這事焕襟∥橄疲” “怎么了庵楷?”我有些...
    開封第一講書人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長温赔。 經(jīng)常有香客問我拄衰,道長它褪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任翘悉,我火速辦了婚禮茫打,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘妖混。我一直安慰自己老赤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開白布制市。 她就那樣靜靜地躺著抬旺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪息堂。 梳的紋絲不亂的頭發(fā)上嚷狞,一...
    開封第一講書人閱讀 52,184評(píng)論 1 308
  • 那天块促,我揣著相機(jī)與錄音,去河邊找鬼床未。 笑死竭翠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的薇搁。 我是一名探鬼主播斋扰,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼啃洋!你這毒婦竟也來了传货?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤宏娄,失蹤者是張志新(化名)和其女友劉穎问裕,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體孵坚,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡粮宛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卖宠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巍杈。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖扛伍,靈堂內(nèi)的尸體忽然破棺而出筷畦,到底是詐尸還是另有隱情,我是刑警寧澤刺洒,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布鳖宾,位于F島的核電站,受9級(jí)特大地震影響逆航,放射性物質(zhì)發(fā)生泄漏攘滩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一纸泡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赖瞒,春花似錦女揭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至袍嬉,卻和暖如春境蔼,著一層夾襖步出監(jiān)牢的瞬間灶平,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來泰國打工箍土, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留逢享,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓吴藻,卻偏偏與公主長得像瞒爬,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沟堡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359