![WebView控件基本使用.doc_第1頁](http://file.renrendoc.com/FileRoot1/2020-2/10/84ab2d8c-adba-46b1-8a89-2e7771bbf6fd/84ab2d8c-adba-46b1-8a89-2e7771bbf6fd1.gif)
![WebView控件基本使用.doc_第2頁](http://file.renrendoc.com/FileRoot1/2020-2/10/84ab2d8c-adba-46b1-8a89-2e7771bbf6fd/84ab2d8c-adba-46b1-8a89-2e7771bbf6fd2.gif)
![WebView控件基本使用.doc_第3頁](http://file.renrendoc.com/FileRoot1/2020-2/10/84ab2d8c-adba-46b1-8a89-2e7771bbf6fd/84ab2d8c-adba-46b1-8a89-2e7771bbf6fd3.gif)
全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
WebView控件基本使用這一期創(chuàng)新,我們來談?wù)劄g覽器控件即WebView。先說什么是webView控件吧。WebView是一個(gè)瀏覽器控件,通過這個(gè)控件可以直接訪問網(wǎng)頁,或者把輸入的HTML字符串顯示出來,功能比較強(qiáng)大,有以下幾個(gè)優(yōu)點(diǎn): 1、功能強(qiáng)大,支持CSS,Java script等HTML語言,這樣頁面就能更漂亮。2、能夠?qū)g覽器控件進(jìn)行非常詳細(xì)的設(shè)置,比如字體大小,背景色,滾動(dòng)條樣式等等。3、能夠捕捉到所有瀏覽器操作,比如點(diǎn)擊URL,打開或關(guān)閉URL4、能夠很好的融入布局。5、甚至webView還能和JS進(jìn)行交互。 在使用webView時(shí),我們要先取得一個(gè)webView實(shí)例,如下: WebView browser=(WebView)findViewById(R.id.webkit);取得實(shí)例后,我們要給browser定義一下WebSettings,WebSettings是WebView的具體設(shè)置類,可以對(duì)WebView進(jìn)行非常詳細(xì)的設(shè)置。WebSettings bs = browser.getSettings(); 取得了webView設(shè)置對(duì)象。下面開始設(shè)置瀏覽器控件,幾個(gè)最常用的設(shè)置如下: 1、bs.setSupportMultipleWindows(false); 瀏覽器不支持多窗口顯示,意思就是說所有頁面在單一窗口打開,這樣避免了頁面布局控制顯示問題,也便于操作控制頁面。2、bs.setSupportZoom(false); 頁面是否可以進(jìn)行縮放。3、bs.setBlockNetworkImage(false); 是否阻止圖像的顯示4、bs.setCacheMode();設(shè)置緩存的模式,分為幾種:LOAD_CACHE_ELSE_NETWORK 當(dāng)本地沒有緩存時(shí),從網(wǎng)上下載 LOAD_CACHE_ONLY 只讀取本地緩存 LOAD_DEFAULT 默認(rèn)的緩存模式 LOAD_NORMAL 一般的緩存模式 LOAD_NO_CACHE 不讀取緩存,所有內(nèi)容均從網(wǎng)絡(luò)下載。 5、bs.setJavaScriptEnabled(flag);是否支持JS。其他比如設(shè)置字體等更不必詳說,通過設(shè)置我們可以獲得一個(gè)我們需要的瀏覽器窗口。 接著,我們還需一個(gè)類來繼承WebViewClient,這個(gè)類用來監(jiān)控瀏覽器的一系列事件。webNotify wn = new webNotify(); browser.setWebViewClient(wn) ; 下面列舉比較常用的4個(gè)事件: 1,接收到Http請(qǐng)求的事件onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) 2,打開鏈接前的事件public boolean shouldOverrideUrlLoading(WebView view, String url) view.loadUrl(url); return true; 在這個(gè)函數(shù)我們可以做很多操作,比如我們讀取到某些特殊的URL,于是就可以不打開地址,取消這個(gè)操作,進(jìn)行預(yù)先定義的其他操作,這對(duì)一個(gè)程序是非常必要的。 3,載入頁面完成的事件public void onPageFinished(WebView view, String url) 同樣道理,我們知道一個(gè)頁面載入完成,于是我們可以關(guān)閉loading條,切換程序動(dòng)作。 4,載入頁面開始的事件public void onPageStarted(WebView view, String url, Bitmap favicon) 這個(gè)事件就是開始載入頁面調(diào)用的,通常我們可以在這設(shè)定一個(gè)loading的頁面,告訴用戶程序在等待網(wǎng)絡(luò)響應(yīng)。 通過這幾個(gè)事件,我們可以很輕松的控制程序操作,一邊用著瀏覽器顯示內(nèi)容,一邊監(jiān)控著用戶操作實(shí)現(xiàn)我們需要的各種顯示方式,同時(shí)可以防止用戶產(chǎn)生誤操作。 最后我們的瀏覽器設(shè)置好了,可以監(jiān)控操作了,于是打開一個(gè)網(wǎng)址:browser.loadUrl(/); 當(dāng)然也可以是自己設(shè)定的一段html字符串,當(dāng)然你的URL要符合規(guī)范。browser.loadDataWithBaseURL() 如何和JS進(jìn)行交互到這里基本的webView的基本使用介紹完畢,接下來我們來討論一下webView如何與JS進(jìn)行交互,這個(gè)功能非常強(qiáng)大,能夠做出很多意想不到的事情。 首先我們?cè)陧撁胬镉羞@么一段JS代碼: function wave() document.getElementById(droid).src=android_waving.png; Click me! function wave()就是我們要調(diào)用的函數(shù),首先要讓browser能與頁面進(jìn)行交互bs.setJavaScriptEnabled(true);( 讓瀏覽器支持JS)接著: browser.addJavascriptInterface(new Object() public void clickOnAndroid() mHandler.post(new Runnable() public void run() mWebView.loadUrl(javascript:wave(); ); , index); 這里的重點(diǎn)就是addJavascriptInterface(Object obj,String interfaceName)方法,該方法將一個(gè)java對(duì)象綁定到一個(gè)javascript對(duì)象中,javascript對(duì)象名就是 interfaceName,作用域是Global。這樣初始化webview后,在webv
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工廠車間裝修包工協(xié)議
- 家電賣場(chǎng)展位裝修合同書
- 保險(xiǎn)公司裝修制式合同樣本
- 維西植草磚施工方案
- 美容院操作方案
- 衢州雙層瀝青瓦施工方案
- 公司股抵押合同范本
- 探索科技向善的創(chuàng)新模式及其實(shí)施策略
- app推廣授權(quán)合同范例
- 體檢機(jī)構(gòu)合同范本
- 自卸車司機(jī)實(shí)操培訓(xùn)考核表
- 教師個(gè)人基本信息登記表
- 中考現(xiàn)代文閱讀理解題精選及答案共20篇
- ESD測(cè)試作業(yè)指導(dǎo)書-防靜電手環(huán)
- 高頻變壓器的制作流程
- 春季開學(xué)安全第一課PPT、中小學(xué)開學(xué)第一課教育培訓(xùn)主題班會(huì)PPT模板
- JJG30-2012通用卡尺檢定規(guī)程
- 部編版人教版二年級(jí)上冊(cè)語文教材分析
- 艾賓浩斯遺忘曲線復(fù)習(xí)方法表格模板100天
- APR版制作流程
- 《C++程序設(shè)計(jì)》完整教案
評(píng)論
0/150
提交評(píng)論