溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android 輸入法鍵盤(pán)和activity頁(yè)面遮擋問(wèn)題解決

發(fā)布時(shí)間:2020-07-24 19:05:03 來(lái)源:網(wǎng)絡(luò) 閱讀:575 作者:鏡中小白 欄目:移動(dòng)開(kāi)發(fā)

相信大家在開(kāi)發(fā)時(shí)會(huì)遇到彈出軟鍵盤(pán)后,輸入框上移就看不到輸入框了,其實(shí)只要將Webview放到了ScrollView中,將ScrollView改為LinearLayout問(wèn)題解決了,不會(huì)在彈出軟鍵盤(pán)后大幅滾動(dòng)。不過(guò)下面還是詳細(xì)介紹下軟鍵盤(pán)和activity頁(yè)面遮擋的問(wèn)題。

 

通常情況下如果我們?cè)谝粋€(gè)輸入框輸入內(nèi)容,輸入法鍵盤(pán)彈出時(shí),activity自動(dòng)設(shè)置高度,相當(dāng)于在activity向上滾動(dòng)了添加了輸入法鍵盤(pán)的高度。但有時(shí)可能淹沒(méi)當(dāng)前的輸入框,如果希望輸入法鍵盤(pán)彈出時(shí)不自動(dòng)向上擠壓activity,在activty中設(shè)置屬性android:windowSoftInputMode="adjustPan",這樣輸入法可以覆蓋Activity顯示,如下:

<activityandroid:name="testActivity" 
      android:windowSoftInputMode="adjustPan">


設(shè)置屬性為android:windowSoftInputMode="adjustResize"即可自動(dòng)調(diào)整高度。

 

屬性stateVisible表示默認(rèn)顯示輸入法鍵盤(pán),其他屬性見(jiàn):android:windowSoftInputMode

 

adjustPan同樣存在問(wèn)題,即可能需要關(guān)閉軟鍵盤(pán),定位被擋住的輸入框,我希望的是介于adjustPanadjustResize之間的解決方案,即軟鍵盤(pán)會(huì)對(duì)activity有一定擠壓,但是焦點(diǎn)所在輸入框始終會(huì)顯示在屏幕上,有會(huì)的朋友歡迎留言分享,個(gè)人覺(jué)得可能的解決方案是new一個(gè)LinearLayout,重寫(xiě)其中的

protected voidonSizeChanged(int w, int h, int oldw, int oldh)


當(dāng)然,開(kāi)發(fā)完APP也是需要進(jìn)行全方位的檢測(cè):www.ineice.com


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI