開發Webview的技術,小的技術知識點
轉載和總結:
Android WebView中軟鍵盤會遮擋輸入框相關問題
要想實現這種軟鍵盤出現的時候會自動把輸入框的佈局頂上去的效果,需要設定輸入法的屬性,有以下兩種設定方式:
一、在java程式碼中設定如下:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE|
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
二、在androidmanifest.xml中設定與其對應的activity的屬性如下:
android:windowSoftInputMode="stateHidden|adjustPan"
正常情況下,設定了該屬性之後,軟鍵盤在彈出時,輸入框便不會被遮擋。
但是該屬性在有些情況下是不生效的,目前我所知的是以下兩種情況:
一、 當前activity被設定了全屏屬性,即 android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
二、webview的相關佈局被固定了高度,這裡也分為兩種情況:
1.根佈局固定了高度,這裡的根佈局是webview所在的Activity的最外層佈局;
2.根佈局未固定高度,但是根佈局是FrameLayout佈局,而webview或者其父控制元件被固定了高度。(專案中遇到的就是這種情況,經過反覆對比測試,終於找到原因,希望分享出來,能幫助其他人)
以上的這兩種固定的高度都會導致軟鍵盤遮擋輸入框的問題,需格外留意。
ps:固定了高度,是指layout_height屬性被賦予了具體多少dp或px。
-------------------------------------------------------------------------------------------------------------
android webview js alert對話方塊 不能彈出 解決辦法
在配置了webview的setting屬性後,以前設定的都是可以直接彈出來的,今天寫一個小demo時候莫名其妙的發現alert怎麼也出來,即使設定了這麼多也不行:
webSettings.setJavaScriptEnabled(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setAllowFileAccess(true);// 設定允許訪問檔案資料
webSettings.setSupportZoom(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webSettings.setDomStorageEnabled(true);
webSettings.setDatabaseEnabled(true);
解決辦法:
webview只是一個承載體,各種內容的渲染需要使用webviewChromClient去實現,所以set一個預設的基類WebChromeClient就行,程式碼如下:
mWebView.setWebChromeClient(new WebChromeClient());
相關文章
- Android 開發需要掌握的技術知識點全面總結Android
- 藍芽Bluetooth技術小知識藍芽
- 遊戲技術美術之<技術&美術>知識構成遊戲
- [NLP] 知識抽取技術
- 非常硬核的技術知識-CopyOnWrite思想
- Java個人技術知識點總結(框架篇)Java框架
- java面試需要掌握知識點|掘金技術徵文Java面試
- Python技術基礎知識點:OS模組的應用Python
- Java個人技術知識點總結(優化篇)Java優化
- 學習運維技術要掌握哪些知識點?運維
- 前端開發技術的發展前端
- 全方位掌握OpenStack技術知識
- 【技術性】OO語言知識
- 短連結的一些技術知識
- Oracle的面試問題——技術知識篇(轉)Oracle面試
- 95%的技術面試必考的JVM知識點都在這,另附加分思路!面試JVM
- Java個人技術知識點總結(資料庫篇)Java資料庫
- Java個人技術知識點總結(最佳化篇)Java
- Java個人技術知識點總結(業務場景篇)Java
- 尋求技術大佬模仿開發小程式
- NLPIR技術運用知識圖譜技術應用於智慧金融
- 資料探勘和知識發現的技術、方法及應用
- Web前端開發掌握的技術Web前端
- Web開發技術的演變Web
- 知識抽取簡述|得物技術
- 你的知識死角不能否定你的技術能力
- OCR證件識別技術的功能特點
- 乾貨 | 知識圖譜的技術與應用
- 你應該知道的 9 個 Docker 技術知識Docker
- Java知識拾遺:三大框架的技術起源Java框架
- 火爆的低程式碼開發具有哪些技術特點?
- 小團隊的技術管理
- 知識圖譜技術的新成果—KGB知識圖譜介紹
- 5 天開發介面系統技術小結
- 3分鐘瞭解Vue開發小程式的技術原理Vue
- Web開發技術未來的發展Web
- Java Web開發技術JavaWeb
- .NET架構的核心開發技術架構