WebView能加载显示网页,可以将其视为一个浏览器。在Android开发中经常可以用到,下面我就简单说说webview的使用吧
1、在Activity布局中加上webview组件;
2、调用Activity的setContentView( )方法来显示网页视图;
3、在Activity中实例化WebView组件,找到布局中的webview;
4、调用WebView的loadUrl()方法,设置WevView要显示的网页:
互联网调用:webView.loadUrl("http://www.baidu.com");
本地文件调用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
5、需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。
<uses-permission android:name="android.permission.INTERNET" />
下面是我写的一个简单的例子(可以参考一下):
public class ActivityMall extends Activity { private WebView mWebView; ProgressDialog pd;//提示正在加载 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mall); pd = ProgressDialog.show(this,"请稍后","正在加载中。。。"); mWebView = (WebView) findViewById(R.id.webview_mall); mWebView.getSettings().setJavaScriptEnabled(true);//设置WebView属性,能够执行Javascript脚本 mWebView.loadUrl("http://www.baidu.com");//加载需要显示的网页 mWebView.setWebViewClient(new HelloWebViewClient()); }
//用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,
//如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()){ mWebView.goBack(); return true; } return false; }private class HelloWebViewClient extends WebViewClient{ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); pd.dismiss(); return true; } }
下面介绍一下WebSettings的常用方法:
1、setJavaScriptEnabled(true);//支持js脚步
2、setPluginsEnabled(true);//支持插件
3、setUseWideViewPort(false);//将图片调整到适合webview的大小
4、setSupportZoom(true);//支持缩放
5、setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);//支持内容从新布局
6、supportMultipleWindows(); //多窗口
7、setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//关闭webview中缓存
8、setAllowFileAccess(true);//设置可以访问文件
9、setNeedInitialFocus(true);//当webview调用requestFocus时为webview设置节点
10、setJavaScriptCanOpenWindowsAutomatically(true);//支持通过JS打开新窗口
11、setLoadsImagesAutomatically(true);//支持自动加载图片