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; } }); } }
运行测试