- 當(dāng)布局高度寫死時(shí),例如設(shè)置為屏幕高度,這時(shí)候鍵盤彈起頁(yè)面上會(huì)出現(xiàn)布局overflow的提示
- 軟鍵盤彈起后遮擋輸入框
原因:在flutter中,鍵盤彈起時(shí)系統(tǒng)會(huì)縮小Scaffold的高度并重建
解決問題1中overflow提示的兩種辦法:
1)把Scaffold的resizeToAvoidBottomInset屬性設(shè)置為false,這樣在鍵盤彈出時(shí)將不會(huì)resize
2)把寫死的高度改為 原高度 - MediaQuery.of(context).viewInsets.bottom,鍵盤彈出時(shí)布局將重建,而這個(gè)MediaQuery.of(context).viewInsets.bottom變量在鍵盤彈出前是0,鍵盤彈起后的就是鍵盤的高度
解決問題2的辦法:
將輸入框放進(jìn)可滾動(dòng)的Widget中即可,當(dāng)輸入框獲取焦點(diǎn)后,系統(tǒng)會(huì)自動(dòng)將它滑動(dòng)到可視區(qū)域