webview经常使用于加载一些和iOS公用或者格式比较复杂的页面,像新闻详情页面,因为图片和文字位置,数量都不肯定,致使在android下xml没办法编写。html
使用的话也是很是简单,在xml文件中直接引用<WebView>控件便可。在类中的使用方法,android
WebSettings settings = webview.getSettings();
settings.setWebChromeClient(new WebChromeClient() { }); settings.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return false; } }); settings.setJavaScriptEnabled(true); settings.setAllowFileAccess(true);// 容许访问文件 settings.setBuiltInZoomControls(true);// 设置显示缩放按钮 settings.setSupportZoom(true);// 支持缩放 settings.setTextSize(); // 这里的设置字体大小并不指字号,textSize形式的属性,共有5个,须要用到的能够本身查看设置 settings.setAllowFileAccess(true);// 容许访问文件 settings.setBuiltInZoomControls(true);// 设置显示缩放按钮 settings.setSupportZoom(true);// 支持缩放
//********************************************* 须要支持缓存的设置 // 设置支持本地存储 settings.setDatabaseEnabled(true); //取得缓存路径 String path = getApplicationContext().getDir("cache", Context.MODE_PRIVATE).getPath(); //设置路径 settings.setDatabasePath(path); //设置支持DomStorage settings.setDomStorageEnabled(true); //设置存储模式 settings.setCacheMode(WebSettings.LOAD_DEFAULT); //设置缓存 settings.setAppCacheEnabled(true); webView.requestFocus(); //***********************************************
webView.loadUrl("www.baidu.com"); // 加载普通网页, webView.loadData(); // </p> webView.loadDataWithBaseURL(); // 返回的html标签,本地解析 ,不一样的加载方式,可能理解有错误,谨慎使用
// 若是有页面交互的话须要写接口调用了
webView.addJavascriptInterface(new XXXXJavascriptInterface(),"h5");
// 设置顶部进度条,比例按照参数计算就好了 fullWebView.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); } });
大概