使用WebView加載網(wǎng)頁为黎,一般可以認(rèn)為有三
種模式:
模式一:
Paste_Image.png
模式二:
Paste_Image.png
模式三:
Paste_Image.png
上述就是常見的使用方式
- 介紹webview的簡單使用
//得到webSettings
WebSettings webSettings = webView.getSettings();
//webview可以自動打開窗口务嫡,支持特殊的javaScrapt語句
webSettings.setJavaScriptEnabled(true);
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
//這樣的話就不會打開外置的瀏覽器澈驼,可以自己運(yùn)行。
webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new WebChromeClient());
//webView自己帶的方法
webView.loadUrl(url);//webview跳轉(zhuǎn)到指定的界面
webView.reload();//重新加載當(dāng)前url
webView.goBack();//回到歷史webview,相當(dāng)于返回
webView.goForward();//webview前進(jìn)
//可以打開本地的html,比如:webView.loadUrl("file://android_asset/webview/myjs");
webSettings.setAllowFileAccess(true);
webSettings.setAllowFileAccessFromFileURLs(true);
- 如何實(shí)現(xiàn)簡單的交互
首先是Javascript調(diào)用java 中的代碼
@SuppressLint("javascriptInterface")//說明這個方法中有給javascript使用的方法
private void JavaScriptForJava() {
webView.addJavascriptInterface(new Object(){
@android.webkit.JavascriptInterface//必須加上
public String callFrom(){
return "abc";
}
},"zidingyi");//定義了一個名字為zidingyi的接口對象饶火,但接口對象中
//只有帶有注解才能在html中調(diào)用
}
在網(wǎng)頁那端可以這樣獲取到j(luò)ava中的值
function call(){
Var var = window.zidingyi.callFrom()
elert(r)//這樣網(wǎng)頁那端就會拿到j(luò)ava代碼
//中的值了
}
```
如何在java端調(diào)用javascript中的代碼
webview.loadUrl("javascript:testAlert();");
//其中testAlert是在HTML中定義的方法