内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

安卓webview中鍵盤(pán)遮擋輸入框如何解決-創(chuàng)新互聯(lián)

關(guān)鍵詞:安卓原生、unity、webview、鍵盤(pán)遮擋輸入框、沉浸式狀態(tài)欄。

創(chuàng)新互聯(lián) - 綿陽(yáng)機(jī)房托管,四川服務(wù)器租用,成都服務(wù)器租用,四川網(wǎng)通托管,綿陽(yáng)服務(wù)器托管,德陽(yáng)服務(wù)器托管,遂寧服務(wù)器托管,綿陽(yáng)服務(wù)器托管,四川云主機(jī),成都云主機(jī),西南云主機(jī),綿陽(yáng)機(jī)房托管,西南服務(wù)器托管,四川/成都大帶寬,機(jī)柜大帶寬租用·托管,四川老牌IDC服務(wù)商

首先是最簡(jiǎn)單的情況,當(dāng)我們app有一個(gè)比較靠下的輸入框時(shí),喚出鍵盤(pán)會(huì)遮擋住輸入框。

這種情況的對(duì)應(yīng)方式很簡(jiǎn)單,只需要找到安卓項(xiàng)目清單文件AndroidManifest.xml,對(duì)activity進(jìn)行android:windowSoftInputMode值進(jìn)行設(shè)定就可以了,設(shè)定為adjustPan或者adjustResize即可。

...

adjustPan或者adjustResize是兩種不同的輸入框適應(yīng)形式,下面附上非常簡(jiǎn)略的區(qū)別對(duì)比:

adjustPan:整個(gè)頁(yè)面往上推。

adjustResize:能推的努力推。

更詳細(xì)的地方可以百度。

如果到這里你的問(wèn)題解決了,那實(shí)在是太好了。不過(guò)如果你嘗試上述方案發(fā)現(xiàn)一點(diǎn)用沒(méi)有,太慘了,你踩了大雷了。

如果你的鍵盤(pán)遮擋與webview掛鉤了,換句話說(shuō):你的手機(jī)鍵盤(pán)是由webview里的輸入框調(diào)起的。

這個(gè)時(shí)候情況就很復(fù)雜了,因?yàn)樗婕暗饺聊J?Fullscreen)這個(gè)東西,unity的話是打包時(shí)候的是否全屏的設(shè)置,在這里是一樣的概念。

Application或者activity搞了Fullscreen,或者使用了Immersive Mode、沉浸式狀態(tài)欄,或者unity打包時(shí)勾選了fullScreenMode。

如果你出現(xiàn)問(wèn)題的頁(yè)面是非全屏模式的情況,activity設(shè)置adjustPan會(huì)失效,設(shè)置adjustResize沒(méi)有問(wèn)題。

如果你出現(xiàn)問(wèn)題的頁(yè)面是全屏模式的情況,adjustPan跟adjustResize這兩個(gè)屬性都會(huì)失效。

adjustPanadjustResize
全屏模式+webviewXX
非全屏模式+webviewX
任何模式+無(wú)webview

也就是說(shuō),如果你的程序不是全屏模式,但出現(xiàn)問(wèn)題的頁(yè)面有webview,只需要在activity里把a(bǔ)ndroid:windowSoftInputMode設(shè)定成adjustResize就可以了。

如果你的程序好巧不巧,既是全屏模式,出現(xiàn)問(wèn)題的頁(yè)面又有webview,你遇到的時(shí)2009年就被發(fā)現(xiàn)的一個(gè)谷歌的骨灰級(jí)bug:issue 5497。

https://issuetracker.google.com/issues/36911528

這個(gè)bug官方至2022年還沒(méi)有修復(fù),那遇到這個(gè)問(wèn)題我們?cè)趺唇鉀Q呢?

12年來(lái)很多的安卓開(kāi)發(fā)前端開(kāi)發(fā)同學(xué)不知道多少人跌進(jìn)了這個(gè)坑,我們雖然沒(méi)有一個(gè)官方的解決方案,但是民間的解決方案當(dāng)然存在。

先介紹兩種比較簡(jiǎn)單粗暴的方案:

首先當(dāng)然是取消全屏模式了,惹不起還躲不起嗎,爺不干了。直接一手取消全屏模式再給android:windowSoftInputMode設(shè)置成adjustResize,困難迎刃而解。當(dāng)然這種方式領(lǐng)導(dǎo)們可能不會(huì)接受哈,實(shí)在是過(guò)于簡(jiǎn)單粗暴了。

第二種方案就是比較迂回的方案了,如果這個(gè)webview展示的是咱們自己寫(xiě)的網(wǎng)頁(yè)哈,就讓咱們自己的網(wǎng)頁(yè)下邊增加比較長(zhǎng)的留白,給鍵盤(pán)留一點(diǎn)的空間。

當(dāng)然如果這個(gè)webview咱們動(dòng)不了,就只剩下最后一個(gè)獨(dú)苗苗——方案三了。

AndroidBug5497Workaround類

這也是各路大佬們一致偏愛(ài)的一種處理方式,只需要一個(gè)簡(jiǎn)簡(jiǎn)單單的AndroidBug5497Workaround類,優(yōu)雅,非常優(yōu)雅。

這是一個(gè)專門(mén)用來(lái)對(duì)應(yīng)“issue 5497”的一個(gè)類,使用方法也非常親民,只需要三步:

1、復(fù)制AndroidBug5497Workaround類到項(xiàng)目中。

2、在activity的onCreate方法中添加一句AndroidBug5497Workaround.assistActivity(this)。

然后就可以解決這個(gè)非常讓人頭痛的問(wèn)題了!而且它在各個(gè)Android版本都沒(méi)問(wèn)題,效果基本與設(shè)置了adjustResize差不多。

關(guān)于AndroidBug5497Workaround類的代碼,java版本與Kotlin版本都有,詳情可以百度,就不在文章中附送了哈。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

分享名稱:安卓webview中鍵盤(pán)遮擋輸入框如何解決-創(chuàng)新互聯(lián)
文章路徑:http://www.rwnh.cn/article6/geiog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、網(wǎng)站收錄、網(wǎng)頁(yè)設(shè)計(jì)公司、品牌網(wǎng)站建設(shè)、ChatGPT、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
安泽县| 奉节县| 长春市| 富裕县| 孝义市| 若羌县| 合作市| 崇文区| 娄烦县| 延安市| 万载县| 同德县| 古浪县| 谷城县| 方正县| 蒙山县| 宜城市| 射洪县| 石城县| 九龙坡区| 阳谷县| 松潘县| 三原县| 仙居县| 新晃| 嵩明县| 沙田区| 西城区| 越西县| 黑龙江省| 西昌市| 荣昌县| 鹰潭市| 舒兰市| 玉门市| 双鸭山市| 垣曲县| 高青县| 伊宁市| 鸡泽县| 吴川市|