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

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

原因:在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ū)域

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

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

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

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