flutter 自定義一個你想要的彈窗

flutter中已經(jīng)為我們提供了一些彈窗組件像showDialog,AlertDialog,但是有時候系統(tǒng)提供的彈窗并不能滿足我們的要求,那我們就要自己動手自定義一個.先看效果......


è???o|.gif

想自定義彈窗最簡單的應(yīng)該就是集成現(xiàn)成的Dialog類,然后我們重新畫出我們想要的組件.我們放個Material組件來改變透明度,然后我們居中控件放一個,然后再來個進度條完美

class LoadingDialog extends Dialog {
   String text;
  bool backMiss;
  LoadingDialog({Key key, @required this.text,this.backMiss}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap:(){
        if (backMiss)
          {
            Navigator.of(context).pop();
          }
      },
      child:  Material(
        type: MaterialType.transparency,
        child: new Center(
          child: new SizedBox(
            width: 120.0,
            height: 120.0,
            child: new Container(
              decoration: ShapeDecoration(
                color: Color(0xffffffff),
                shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.all(
                    Radius.circular(8.0),
                  ),
                ),
              ),
              child: new Column(
                mainAxisAlignment: MainAxisAlignment.center,
                crossAxisAlignment: CrossAxisAlignment.center,
                children: <Widget>[
                  new CircularProgressIndicator(),
                  new Padding(
                    padding: const EdgeInsets.only(
                      top: 20.0,
                    ),
                    child: new Text(
                      text,
                      style: new TextStyle(fontSize: 12.0),
                    ),
                  ),
                ],
              ),
            ),
          ),
        ),
      ) ,
    );
  }
}

其實這個類里有這么幾行代碼,我們給Material組件加了個點擊效果,點擊后彈窗會隱藏

 GestureDetector(
      onTap:(){
        if (backMiss)
          {
            Navigator.of(context).pop();
          }
      },

這是因為雖然原生組件Dialog給了一個屬性 barrierDismissible,這個屬性控制點擊外部彈窗是否能消失但是自定義后,這個屬性無效了,原因我不知道,希望大神能告訴我,小弟感激不盡.所以我只能用添加手勢來解決.定義好我們的組件以后我們在想要用的時候調(diào)用就好了

//展示彈窗
                  showDialog<Null>(
                      context: context, //BuildContext對象
                      //點擊外部可以消失
                      barrierDismissible: false,
                      builder: (BuildContext context) {
                        return new LoadingDialog( //調(diào)用對話框
                          text: '正在加載...',
                          backMiss: false,
                        );
                      });
大功告成!!!!
寫在最后,一直想一口吃個胖子,經(jīng)過開發(fā)發(fā)現(xiàn),很多細節(jié)想起來很容易,實現(xiàn)起來發(fā)現(xiàn)還是有些小問題的,所以希望能列個單子,把很細節(jié)實用的東西都記錄下來,對抗自己的拖延癥,加油....
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末醉顽,一起剝皮案震驚了整個濱河市沼溜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌游添,老刑警劉巖系草,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異唆涝,居然都是意外死亡找都,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門廊酣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來能耻,“玉大人,你說我怎么就攤上這事『烤” “怎么了嗡贺?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鞍帝。 經(jīng)常有香客問我诫睬,道長,這世上最難降的妖魔是什么帕涌? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任摄凡,我火速辦了婚禮,結(jié)果婚禮上蚓曼,老公的妹妹穿的比我還像新娘亲澡。我一直安慰自己,他們只是感情好纫版,可當(dāng)我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布床绪。 她就那樣靜靜地躺著,像睡著了一般其弊。 火紅的嫁衣襯著肌膚如雪癞己。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天梭伐,我揣著相機與錄音痹雅,去河邊找鬼。 笑死糊识,一個胖子當(dāng)著我的面吹牛绩社,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赂苗,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼愉耙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了拌滋?” 一聲冷哼從身側(cè)響起劲阎,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸠真,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體龄毡,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡吠卷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了沦零。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祭隔。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出疾渴,到底是詐尸還是另有隱情千贯,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布搞坝,位于F島的核電站搔谴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏桩撮。R本人自食惡果不足惜敦第,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望店量。 院中可真熱鬧芜果,春花似錦、人聲如沸融师。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旱爆。三九已至舀射,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間疼鸟,已是汗流浹背后控。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留空镜,地道東北人浩淘。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像吴攒,于是被迫代替她去往敵國和親张抄。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,440評論 2 348

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

  • 微信小程序中的組件 前言 之前做小程序開發(fā)的時候洼怔,對于開發(fā)來說比較頭疼的莫過于自定義組件了署惯,當(dāng)時官方對這方面的文檔...
    一夢歐巴閱讀 735評論 0 1
  • 自己總結(jié)的Android開源項目及庫。 github排名https://github.com/trending,g...
    passiontim閱讀 2,531評論 1 26
  • 該文已授權(quán)公眾號 「碼個蛋」,轉(zhuǎn)載請指明出處 前面的小節(jié)把常用的一些部件都介紹了安岂,這節(jié)介紹下 Flutter 中的...
    Kuky_xs閱讀 3,112評論 1 6
  • | 之前做小程序開發(fā)的時候轻猖,對于開發(fā)來說比較頭疼的莫過于自定義組件了,當(dāng)時官方對這方面的文檔也只是寥寥幾句域那,一筆帶...
    神木驚蟄閱讀 440評論 0 0
  • 痛苦相互理解的痛苦才是真正的痛苦咙边。 那年他在九十年代開始的那年出生了。是母親懷胎八月的時候降臨的,
    D漩渦路飛閱讀 170評論 0 0