1、點(diǎn)擊輸入flutter框彈出軟鍵盤(pán)時(shí),遮擋本輸入框一部分。
創(chuàng)新互聯(lián)是專(zhuān)業(yè)的晉江網(wǎng)站建設(shè)公司,晉江接單;提供成都做網(wǎng)站、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行晉江網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
2、點(diǎn)擊輸入框,輸入框跟隨軟鍵盤(pán)自動(dòng)上移時(shí)其他不該移動(dòng)的內(nèi)容也跟隨上移導(dǎo)致的flutter鍵盤(pán)彈出時(shí)listview置底。
webview的版本是webview_flutter: ^0.3.22+1
現(xiàn)在遇到的問(wèn)題是如果webview中輸入密碼的話(huà),像華為這種會(huì)調(diào)用自己的安全鍵盤(pán),這時(shí)候就會(huì)黑屏,應(yīng)該是內(nèi)部計(jì)算鍵盤(pán)高度的問(wèn)題。這時(shí)候沒(méi)辦法了,網(wǎng)頁(yè)web端密碼框需要修改一下了自己自定義一下不調(diào)用密碼類(lèi)型就好,但是無(wú)法被輸入框彈上去,后來(lái)解決方案是用SingleChildScrollView包裹一下,然后自己監(jiān)聽(tīng)一下鍵盤(pán)的彈窗和隱藏做一下jump的高度就好了
ps: jump的時(shí)候要注意高度,可以在鍵盤(pán)出來(lái)的時(shí)候底部增加一個(gè)只有高度的view,鍵盤(pán)收起隱藏就好了
原因:在flutter中,鍵盤(pán)彈起時(shí)系統(tǒng)會(huì)縮小Scaffold的高度并重建
1)把Scaffold的resizeToAvoidBottomInset屬性設(shè)置為false,這樣在鍵盤(pán)彈出時(shí)將不會(huì)resize
2)把寫(xiě)死的高度改為 原高度 - MediaQuery.of(context).viewInsets.bottom ,鍵盤(pán)彈出時(shí)布局將重建,而這個(gè) MediaQuery.of(context).viewInsets.bottom 變量在鍵盤(pán)彈出前是0,鍵盤(pán)彈起后的就是鍵盤(pán)的高度
將輸入框放進(jìn)可滾動(dòng)的Widget中即可,當(dāng)輸入框獲取焦點(diǎn)后,系統(tǒng)會(huì)自動(dòng)將它滑動(dòng)到可視區(qū)域