Android包含了一个基于Webkit的HTML渲染引擎,支持V8 JavaScript解释器。你可以通过使用WebView类在自己的应用中使用这些技术。Web视图上展示Web URL上的HTML,存储在设备上的文件,或者在应用中创建的任意字符串。Android的WebView包括历史、插件、缩放控制以及JavaScript支持等标准的浏览器功能。你也可以使用拿捏缩放等高级手势,也可以为触摸屏设备提供轻松导航。为了访问在线网页,你需要在清单中使用INTERNET权限。
<uses-permission android:name="android.permission.INTERNET" />
一、创建活动
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
代码
package com.test.androidtest;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WebViewActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_view);
WebView webView = (WebView)findViewById(R.id.webview);
webView.loadUrl("http://www.baidu.com");
WebSettings webSettings = webView.getSettings();
//启用JavaScript支持
webSettings.setJavaScriptEnabled(true);
//启用插件(包括Flash支持)
webSettings.setPluginState(WebSettings.PluginState.ON);
//启用缩放控制
webSettings.setSupportZoom(true);
//启用点击缩放和拿捏缩放功能
webSettings.setBuiltInZoomControls(true);
//重写新URL的加载,如果不做这个,那么当用户点击Web视图中一个新的URL时,都会打开默认浏览器并加载新的链接。
//要使网页在Web视图中加载,需要添加以下代码。
webView.setWebViewClient(new WebViewClient(){
//这里重写URL加载行为,新的URL在现有的Web视图中加载。
//返回true会停止事件向上层的视图传播并会阻止打开浏览器。
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
}
}
运行测试