android webview组件
时间: 2023-11-06 10:59:02 浏览: 246
Android中的WebView组件是一个用于显示Web页面的控件。它是一个基于WebKit引擎的控件,可以让Android应用程序内部加载网页,还可以与JavaScript交互。WebView组件提供了一个简单的方式来实现浏览器功能,可以通过加载本地HTML文件或远程URL来显示网页内容。
以下是一些WebView组件的使用示例:
1. 显示本地HTML文件
```java
WebView webView = (WebView) findViewById(R.id.web_view);
webView.loadUrl("file:///android_asset/local.html");
```
2. 显示远程URL
```java
WebView webView = (WebView) findViewById(R.id.web_view);
webView.loadUrl("http://www.example.com");
```
3. 启用JavaScript
```java
WebView webView = (WebView) findViewById(R.id.web_view);
webView.getSettings().setJavaScriptEnabled(true);
```
4. 设置WebViewClient
```java
WebView webView = (WebView) findViewById(R.id.web_view);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
```
5. 设置WebChromeClient
```java
WebView webView = (WebView) findViewById(R.id.web_view);
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
// 显示页面加载进度
}
});
```
6. 与JavaScript交互
```java
WebView webView = (WebView) findViewById(R.id.web_view);
webView.addJavascriptInterface(new JavaScriptInterface(), "android");
webView.loadUrl("javascript:android.showToast('Hello world!')");
```
其中JavaScriptInterface是一个Java对象,用于与JavaScript交互。在JavaScript中,可以通过android对象来调用Java方法。例如:
```javascript
function showToast(message) {
android.showToast(message);
}
```
这样就可以在WebView中显示一个Toast提示。
阅读全文