


全文預覽已結束
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
WebView控件基本使用這一期創(chuàng)新,我們來談談瀏覽器控件即WebView。先說什么是webView控件吧。WebView是一個瀏覽器控件,通過這個控件可以直接訪問網頁,或者把輸入的HTML字符串顯示出來,功能比較強大,有以下幾個優(yōu)點: 1、功能強大,支持CSS,Java script等HTML語言,這樣頁面就能更漂亮。2、能夠對瀏覽器控件進行非常詳細的設置,比如字體大小,背景色,滾動條樣式等等。3、能夠捕捉到所有瀏覽器操作,比如點擊URL,打開或關閉URL4、能夠很好的融入布局。5、甚至webView還能和JS進行交互。 在使用webView時,我們要先取得一個webView實例,如下: WebView browser=(WebView)findViewById(R.id.webkit);取得實例后,我們要給browser定義一下WebSettings,WebSettings是WebView的具體設置類,可以對WebView進行非常詳細的設置。WebSettings bs = browser.getSettings(); 取得了webView設置對象。下面開始設置瀏覽器控件,幾個最常用的設置如下: 1、bs.setSupportMultipleWindows(false); 瀏覽器不支持多窗口顯示,意思就是說所有頁面在單一窗口打開,這樣避免了頁面布局控制顯示問題,也便于操作控制頁面。2、bs.setSupportZoom(false); 頁面是否可以進行縮放。3、bs.setBlockNetworkImage(false); 是否阻止圖像的顯示4、bs.setCacheMode();設置緩存的模式,分為幾種:LOAD_CACHE_ELSE_NETWORK 當本地沒有緩存時,從網上下載 LOAD_CACHE_ONLY 只讀取本地緩存 LOAD_DEFAULT 默認的緩存模式 LOAD_NORMAL 一般的緩存模式 LOAD_NO_CACHE 不讀取緩存,所有內容均從網絡下載。 5、bs.setJavaScriptEnabled(flag);是否支持JS。其他比如設置字體等更不必詳說,通過設置我們可以獲得一個我們需要的瀏覽器窗口。 接著,我們還需一個類來繼承WebViewClient,這個類用來監(jiān)控瀏覽器的一系列事件。webNotify wn = new webNotify(); browser.setWebViewClient(wn) ; 下面列舉比較常用的4個事件: 1,接收到Http請求的事件onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) 2,打開鏈接前的事件public boolean shouldOverrideUrlLoading(WebView view, String url) view.loadUrl(url); return true; 在這個函數我們可以做很多操作,比如我們讀取到某些特殊的URL,于是就可以不打開地址,取消這個操作,進行預先定義的其他操作,這對一個程序是非常必要的。 3,載入頁面完成的事件public void onPageFinished(WebView view, String url) 同樣道理,我們知道一個頁面載入完成,于是我們可以關閉loading條,切換程序動作。 4,載入頁面開始的事件public void onPageStarted(WebView view, String url, Bitmap favicon) 這個事件就是開始載入頁面調用的,通常我們可以在這設定一個loading的頁面,告訴用戶程序在等待網絡響應。 通過這幾個事件,我們可以很輕松的控制程序操作,一邊用著瀏覽器顯示內容,一邊監(jiān)控著用戶操作實現(xiàn)我們需要的各種顯示方式,同時可以防止用戶產生誤操作。 最后我們的瀏覽器設置好了,可以監(jiān)控操作了,于是打開一個網址:browser.loadUrl(/); 當然也可以是自己設定的一段html字符串,當然你的URL要符合規(guī)范。browser.loadDataWithBaseURL() 如何和JS進行交互到這里基本的webView的基本使用介紹完畢,接下來我們來討論一下webView如何與JS進行交互,這個功能非常強大,能夠做出很多意想不到的事情。 首先我們在頁面里有這么一段JS代碼: function wave() document.getElementById(droid).src=android_waving.png; Click me! function wave()就是我們要調用的函數,首先要讓browser能與頁面進行交互bs.setJavaScriptEnabled(true);( 讓瀏覽器支持JS)接著: browser.addJavascriptInterface(new Object() public void clickOnAndroid() mHandler.post(new Runnable() public void run() mWebView.loadUrl(javascript:wave(); ); , index); 這里的重點就是addJavascriptInterface(Object obj,String interfaceName)方法,該方法將一個java對象綁定到一個javascript對象中,javascript對象名就是 interfaceName,作用域是Global。這樣初始化webview后,在webv
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 利用區(qū)塊鏈技術構建高效能理賠處理系統(tǒng)研究報告
- 懸浮機企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 磨邊倒角機企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 彩板輥壓成型機企業(yè)數字化轉型與智慧升級戰(zhàn)略研究報告
- 電磁或永磁卡盤企業(yè)數字化轉型與智慧升級戰(zhàn)略研究報告
- 人美版一年級下冊《家在山水間》教學設計
- 2025年六氟環(huán)氧丙烷合作協(xié)議書
- 幼兒園午睡前安全教育
- 2025年凝血分析儀器試劑合作協(xié)議書
- 禮賓培訓課件
- 外墻憎水巖棉保溫板施工方案doc
- 門店清潔衛(wèi)生標準
- 聯(lián)想集團財務風險分析及對策論文財務管理專業(yè)
- 阿丁尿床了(2)
- 工會會計報表完整版(內有6張表)
- 雙堿法脫硫設計計算
- 巴基斯坦1X150MW設備清冊
- 增值稅銷售貨物或者提供應稅勞務清單(標準模板)
- 醫(yī)用耗材分類目錄 (低值 ╱ 高值)
- competition-model
- 退檔申請書怎樣寫
評論
0/150
提交評論