flutter中關(guān)于軟鍵盤彈起導(dǎo)致的問題

  1. 當(dāng)布局高度寫死時,例如設(shè)置為屏幕高度,這時候鍵盤彈起頁面上會出現(xiàn)布局overflow的提示
  2. 軟鍵盤彈起后遮擋輸入框

原因:在flutter中,鍵盤彈起時系統(tǒng)會縮小Scaffold的高度并重建

解決問題1中overflow提示的兩種辦法:

1)把Scaffold的resizeToAvoidBottomInset屬性設(shè)置為false,這樣在鍵盤彈出時將不會resize

2)把寫死的高度改為 原高度 - MediaQuery.of(context).viewInsets.bottom,鍵盤彈出時布局將重建,而這個MediaQuery.of(context).viewInsets.bottom變量在鍵盤彈出前是0,鍵盤彈起后的就是鍵盤的高度

解決問題2的辦法:

將輸入框放進可滾動的Widget中即可,當(dāng)輸入框獲取焦點后,系統(tǒng)會自動將它滑動到可視區(qū)域

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文轉(zhuǎn)載自wuwhs的segmentfault專欄 最近一段時間在做 H5 聊天項目,踩過其中一大坑:輸入框獲取焦...
    兔子不打地鼠打代碼閱讀 10,808評論 1 12
  • 可能這些是你想要的H5軟鍵盤兼容方案 前言 輸入框獲取焦點,軟鍵盤彈起,要求輸入框吸附(或頂)在輸入法框上。需求很...
    記住了_葉閱讀 831評論 0 2
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 14,200評論 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 28,886評論 1 45
  • 今天測試提了一個bug,說軟鍵盤遮擋了editText的輸入框,但是我測試了都不會呀,原來其他機型不會,在華為的某...
    8ba406212441閱讀 13,011評論 3 29

友情鏈接更多精彩內(nèi)容