Android中的WebView使用

WebView是Android提供的一個WEB瀏覽控件,通過這個空間可以調用指定網址的網頁以顯示HTML標記的頁面。

可以採用如下的方法來顯示Web頁面,如下所示:

WebVIew webView=new WebView(this);

webView.loadUri("http://www.hao123.com");


或者採用如下方法來顯示已經定義的頁面如下所示:

WebView webView=new WebView(this);

String str="<html><body>I'm yangyancheng</body></html>"

webView.loadData(str,"text/html","utf-8");


可以設置以下幾個參數

webView.getSettings().setJavaScriptEnabled(true);  
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);  
webView.setHorizontalScrollBarEnabled(false);  
webView.getSettings().setSupportZoom(true);  
webView.getSettings().setBuiltInZoomControls(true);  
webView.setInitialScale(70);  
webView.setHorizontalScrollbarOverlay(true); 


WebView提供數個可以定製的機制,有以下四個子類可以進行選擇:

1,創建和設置WebViewClient,當這個類被調用時,會影響到網頁顯示的內容,如錯誤的信息,和窗體的提交,可以再次重新修訂該在網頁的網址,,


2.創建和設置WebChromeClient,此類用來設置瀏覽器的用戶接口發生的時間,如精度更新,JavaScript事件的通知等事件,,


3. 利用WebSetting來進行一些WebView參數的設置,


4,使用addJavascriptInterface方法來與javascript通信,



WebView與JavaScript相互通信,

1.javascript腳本調用android應用程序

可以採用如下的方法

WebView webView=new WebView(this)

webView.getSettings().setJavaScriptEnable(true);

webView.loadUrl(網址);

webView.addJavascriptInterface(this,"android");


在應用程序中添加被javascript調用的函數 如下所示:

public void js(parameter)

{

}


在android中的javascript中使用如下的方式來與應用程序進行交互

<script type="text/javascript">

function ok(){

android.js(parameter);

}

</script>





WebView調用javascript中的函數,如下所示:

WebView webView=new WebView(this)

webView.getSettings().setJavaScriptEnable(true);

webView.loadUrl(網址);

webView.addJavascriptInterface(new JsInterface(),"android");



public final class JsInterface{

public void onClick(){

webView.loadUrl("javascript:changeImage01()");

}

}




<a onClick="window.android.onClick()"><img id="image" src="navy01.jpg"/></a>


<script language="javascript">

function changeImage01(){

document.getElementById("image").src="navy01.jpg";

}

</script>


通過javascript調用android應用程序中的代碼,在android應用程序中再次調用javascript代碼來實現改變WebView控件上的內容的目的。。。




通過實現WebChromeClient類來實現對javascript中的alert對話框方法調用的攔截。

繼承WebChromeClient類來實現其中的onJsAlert(WebView view,String url,String message,Jsresult ressult)方法進行覆蓋對javascript中的alert進行連接



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章