Flutter擼一個(gè)登錄頁面遇到的坑

最近剛開始學(xué)習(xí)Flutter互例,并且要手動(dòng)做項(xiàng)目了奢入。。媳叨。
這里最基本的就不介紹了腥光,環(huán)境搭建,新建項(xiàng)目啥的肩杈。柴我。。
第一個(gè)肯定是登錄頁面扩然,剛開始編寫出來沒問題艘儒,界面大概長這樣:


image.png

這里大概遇到了一些小坑,比如遮擋問題 網(wǎng)上一致做法是外邊包一個(gè):
SingleChildScrollView
夫偶。界睁。代碼先不上了,最后會(huì)有完整的代碼兵拢。

但是后來產(chǎn)品該需求了翻斟,App啟動(dòng)后不是登錄頁面而是主頁面,然后在里邊點(diǎn)擊某個(gè)功能來判斷是否登錄说铃,如果沒有登錄就跳轉(zhuǎn)到登錄访惜,界面也改進(jìn)了下,大概這樣的:


image.png

代碼如下(注意這是界面部分代碼腻扇,邏輯啥的都么寫):

@override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
      ),
      body: SingleChildScrollView(
        child: Column(
          mainAxisSize: MainAxisSize.max,
          mainAxisAlignment: MainAxisAlignment.start,
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            buildTitle(),
            SizedBox(height: 50.0),
            buildPhoneNumber(),
            buildUserProfile(),
            buildLoginButton(),
            SizedBox(height: 120.0,),
            buildWechatLogin(),
          ],
        ),
      )
    );
buildTitle(){
    return Padding(
      padding: EdgeInsets.fromLTRB(15.0,50.0,30.0,15.0),
      child: Text(
          "請(qǐng)輸入您的手機(jī)號(hào)",
        style: TextStyle(
          color: Colors.black,
          fontSize: 28.0
        ),
      ),
    );
  }

  buildPhoneNumber(){
    return Padding(
      padding: EdgeInsets.fromLTRB(20.0, 0.0, 20.0, 15.0),
      child: Stack(
        alignment: Alignment(1.0, 1.0),
        children: <Widget>[
          Row(
              mainAxisAlignment: MainAxisAlignment.spaceEvenly,
              children: <Widget>[
                Text("+86",style: TextStyle(fontSize: 18.0,color: Color(0xFF7D7D7D))),
                SizedBox(width: 20.0,),
                Expanded(
                    child: TextField(
                      controller: _phoneController,
                      keyboardType: TextInputType.number,
                      decoration: InputDecoration(
                          hintText: "請(qǐng)輸入手機(jī)號(hào)"
                      ),
                      style: TextStyle(fontSize: 24.0),
                      onChanged: _onPhoneNumChange,
                    )
                )
              ]),
          IconButton(
            icon: Icon(Icons.clear,color: Colors.black45),
            onPressed: (){
              _phoneController.clear();
            },
          )
        ],
      ),
    );
  }

  buildUserProfile(){
    return Row(
      children: <Widget>[
        Radio(value: null, groupValue: null, onChanged: null),
        Text("登錄既已同意",style: TextStyle(color: Color(0xFFBAB9B9)),),
        Container(
          child: GestureDetector(
            child: Text("《用戶注冊(cè)協(xié)議》",style: TextStyle(color:Color(0xFFEA8408))),
            onTap: _doUserProfile,
          ),
        )
      ],
    );
  }

  buildLoginButton(){
    return Container(
      alignment: Alignment.center,
      child: Container(
        width: 340.0,
        child: Card(
          color: Color(0xfff2f2f2),
//        elevation: 16.0,
          child: FlatButton(
            child: Padding(
              padding: EdgeInsets.all(10.0),
              child: Text(
                '下一步',
                style: TextStyle(
                    color: Color(0xffd7d7d7), fontSize: 16.0),
              ),
            ),
            onPressed: () {
              _doLogin();
            },
          ),
        ),
      ),
    );
  }

  buildWechatLogin(){
    return Container(
      alignment: Alignment.bottomCenter,
      child: Container(
        child: Column(
          children: <Widget>[
            Text("第三方登錄",style: TextStyle(color: Color(0xff949494)),),
            FlatButton(
                onPressed: _wechatLogin,
                child: Image(
                  image: AssetImage("assets/images/wechat.png"),
                  width: 70.0,
                  height: 70.0,
                  fit: BoxFit.contain,
                )
            )
          ],
        ),
      )
    );
  }

嗯债热,界面擼出來了。幼苛。窒篱。。。墙杯∨洳ⅲ看上去也沒啥問題, 想著舒服了吧高镐,

但是溉旋,但是,但是 碰到一個(gè)大問題避消,當(dāng)我點(diǎn)擊電話輸入框時(shí)低滩,我的界面整體往上移動(dòng)了。岩喷。。而且其他控件被遮擋了监憎。纱意。。鲸阔?偷霉??褐筛?

image.png

一萬個(gè)CNM飄過类少。。這啥情況啊渔扎,我直接啟動(dòng)登錄頁是沒問題的啊硫狞,但是在里邊怎么會(huì)有問題呢?晃痴?残吩?
網(wǎng)上各種搜,都沒有解決倘核,

自己硬著頭皮看代碼:發(fā)現(xiàn)了如下的問題
在APP啟動(dòng)的時(shí)候是這樣的main.dart 文件:

@override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Maxima Driver',
      theme: ThemeData(
        primaryColor: Color(ThemeColor),
        backgroundColor: Color(0xFFEFEFEF),
        accentColor: Color(0xFF888888),
        textTheme: TextTheme(
          body1: TextStyle(color: Color(0xFF888888),fontSize: 16.0)
        ),
        iconTheme: IconThemeData(
          color: Color(ThemeColor),
          size: 35.0
        )
      ),
      home: new Scaffold(
        body: LoginPage(),
      ),

注意home 部分泣侮,我這里包了一個(gè)Scaffold ,但是 我LoginPage里 也有一個(gè)Scaffod紧唱,
這里就很奇怪了活尊,抱著懷疑的心里,包含肯定會(huì)有問題漏益,然后我去掉了蛹锰,改成這樣的:

home: LoginPage(),

把 Scaffod這個(gè)東西去掉。

直接運(yùn)行: 哇 竟然成功了遭庶。宁仔。。峦睡。翎苫。权埠。

image.png

希望能夠幫到大家。煎谍。攘蔽。。呐粘。满俗。。作岖。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末唆垃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子痘儡,更是在濱河造成了極大的恐慌辕万,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沉删,死亡現(xiàn)場離奇詭異渐尿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)矾瑰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門砖茸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人殴穴,你說我怎么就攤上這事凉夯。” “怎么了推正?”我有些...
    開封第一講書人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵恍涂,是天一觀的道長。 經(jīng)常有香客問我植榕,道長再沧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任尊残,我火速辦了婚禮炒瘸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘寝衫。我一直安慰自己顷扩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開白布慰毅。 她就那樣靜靜地躺著隘截,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上婶芭,一...
    開封第一講書人閱讀 51,215評(píng)論 1 299
  • 那天东臀,我揣著相機(jī)與錄音,去河邊找鬼犀农。 笑死惰赋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的呵哨。 我是一名探鬼主播赁濒,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼孟害!你這毒婦竟也來了拒炎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤纹坐,失蹤者是張志新(化名)和其女友劉穎枝冀,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體耘子,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年球切,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谷誓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吨凑,死狀恐怖捍歪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鸵钝,我是刑警寧澤糙臼,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站恩商,受9級(jí)特大地震影響变逃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜怠堪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一揽乱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧粟矿,春花似錦凰棉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春或舞,著一層夾襖步出監(jiān)牢的瞬間荆姆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來泰國打工嚷那, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留胞枕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓魏宽,卻偏偏與公主長得像腐泻,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子队询,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

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

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5派桩? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 27,475評(píng)論 1 45
  • 趁著EOS Dawn 3.0 的發(fā)布蚌斩,把這半年的學(xué)習(xí)的知識(shí)“公開”的整理一下 區(qū)塊鏈知識(shí)整理: 1铆惑、想從頭好好深入...
    redbutterfly閱讀 322評(píng)論 0 0
  • 離過年還有幾天了,天氣特別的晴朗送膳,躺在床上糾結(jié)今晚愛心志愿者的年會(huì)要不要去员魏。糾結(jié)好幾天了,想想過幾天要跑長...
    小彩123閱讀 221評(píng)論 0 0
  • 美好的事情總是在心里表現(xiàn)叠聋,無論是一種愿望撕阎,是一種心靈,更是靈魂碌补。每次次表現(xiàn)在臉上虏束,笑容滿面,或是點(diǎn)點(diǎn)微笑厦章,還呈現(xiàn)在...
    雨林中的紅葉閱讀 155評(píng)論 0 1
  • 中午吃完飯了镇匀,發(fā)現(xiàn)喝的湯里有蟲子,我是該歡喜菜沒有農(nóng)藥袜啃,還是該慶幸不是半個(gè)蟲子呢汗侵?
    偶爾的長有閱讀 131評(píng)論 0 0