Flutter學(xué)習(xí)日記-wechat模仿

Flutter for 微信demo

  • 微信Tabbar&Navigator


    image.png
import 'package:flutter/material.dart';

class App extends StatefulWidget {
  @override
  MainState createState() => MainState();
}

class MainState extends State<App> {
  var _currentIndex = 0;

  _popupMenuItem(String title, {String imagePath, IconData icon}) {
    return PopupMenuItem(
      child: Row(
        children: <Widget>[
          imagePath != null
              ? Image.asset(
                  imagePath,
                  width: 32.0,
                  height: 32.0,
                )
              : SizedBox(
                  width: 32.0,
                  height: 32.0,
                  child: Icon(
                    icon,
                    color: Colors.white,
                  ),
                ),
          Container(
            padding: const EdgeInsets.only(left: 20),
            child: Text(
              title,
              style: TextStyle(color: Colors.white),
            ),
          ),
        ],
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('微信'),
        actions: <Widget>[
          GestureDetector(
            onTap: () {
              Navigator.pushNamed(context, 'search');
            },
            child: Icon(
              Icons.search,
            ),
          ),
          Padding(
            padding: const EdgeInsets.only(left: 20.0, right: 20.0),
            child: GestureDetector(
              onTap: () {
                showMenu(
                  context: context,
                  position: RelativeRect.fromLTRB(500.0, 86.0, 25.0, 0.0),
                  items: <PopupMenuEntry>[
                    _popupMenuItem('發(fā)起群聊',
                        imagePath: 'images/2x/wechat@2x.png'),
                    _popupMenuItem('掃一掃')
                  ],
                );
              },
              child: Icon(Icons.add_a_photo),
            ),
          )
        ],
      ),
      bottomNavigationBar: new BottomNavigationBar(
        type: BottomNavigationBarType.fixed,
        currentIndex: _currentIndex,
        onTap: ((index) {
          setState(() {
            _currentIndex = index;
          });
        }),
        items: [
          new BottomNavigationBarItem(
              title: new Text(
                '微信',
                style: TextStyle(
                    color: _currentIndex == 0
                        ? Color(0xFF03c40e)
                        : Color(0xff999999),
                    fontSize: 14.0),
              ),
              icon: _currentIndex == 0
                  ? Image.asset(
                      'images/2x/messageSel@2x.png',
                      width: 32.0,
                      height: 28.0,
                    )
                  : Image.asset(
                      'images/2x/messageNol@2x.png',
                      width: 32.0,
                      height: 28.0,
                    )),
          new BottomNavigationBarItem(
              title: new Text(
                '通訊錄',
                style: TextStyle(
                    color: _currentIndex == 1
                        ? Color(0xFF03c40e)
                        : Color(0xff999999),
                    fontSize: 14.0),
              ),
              icon: _currentIndex == 1
                  ? Image.asset(
                      'images/2x/messageSel@2x.png',
                      width: 32.0,
                      height: 28.0,
                    )
                  : Image.asset(
                      'images/2x/messageNol@2x.png',
                      width: 32.0,
                      height: 28.0,
                    )),
          new BottomNavigationBarItem(
              title: new Text(
                '發(fā)現(xiàn)',
                style: TextStyle(
                    color: _currentIndex == 2
                        ? Color(0xFF03c40e)
                        : Color(0xff999999),
                    fontSize: 14.0),
              ),
              icon: _currentIndex == 2
                  ? Image.asset(
                      'images/2x/messageSel@2x.png',
                      width: 32.0,
                      height: 28.0,
                    )
                  : Image.asset(
                      'images/2x/messageNol@2x.png',
                      width: 32.0,
                      height: 28.0,
                    )),
          new BottomNavigationBarItem(
              title: new Text(
                '我的',
                style: TextStyle(
                    color: _currentIndex == 3
                        ? Color(0xFF03c40e)
                        : Color(0xff999999),
                    fontSize: 14.0),
              ),
              icon: _currentIndex == 3
                  ? Image.asset(
                      'images/2x/messageSel@2x.png',
                      width: 32.0,
                      height: 28.0,
                    )
                  : Image.asset(
                      'images/2x/messageNol@2x.png',
                      width: 32.0,
                      height: 28.0,
                    ))
        ],
      ),
      // body: currentPage(),
    );
  }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末狮暑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌枚粘,老刑警劉巖宇整,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異床牧,居然都是意外死亡财喳,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門立砸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掖疮,“玉大人,你說我怎么就攤上這事颗祝∽巧粒” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵螺戳,是天一觀的道長搁宾。 經(jīng)常有香客問我,道長倔幼,這世上最難降的妖魔是什么盖腿? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮损同,結(jié)果婚禮上翩腐,老公的妹妹穿的比我還像新娘。我一直安慰自己膏燃,他們只是感情好茂卦,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著组哩,像睡著了一般疙筹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上禁炒,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天而咆,我揣著相機(jī)與錄音,去河邊找鬼幕袱。 笑死暴备,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的们豌。 我是一名探鬼主播涯捻,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼望迎!你這毒婦竟也來了障癌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤辩尊,失蹤者是張志新(化名)和其女友劉穎涛浙,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡轿亮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年疮薇,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片我注。...
    茶點(diǎn)故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡按咒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出但骨,到底是詐尸還是另有隱情励七,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布奔缠,位于F島的核電站呀伙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏添坊。R本人自食惡果不足惜剿另,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贬蛙。 院中可真熱鬧雨女,春花似錦、人聲如沸阳准。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽野蝇。三九已至讼稚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绕沈,已是汗流浹背锐想。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留乍狐,地道東北人赠摇。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像浅蚪,于是被迫代替她去往敵國和親藕帜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評論 2 348