public class WebviewSetUtil {
private WebView webview;
private ProgressBar progressBar;
private JSObject jsobject;
public WebviewSetUtil(WebView webView, ProgressBar progressBar){
this.webview=webView;
if(progressBar!=null){
this.progressBar=progressBar;
}
}
public WebView initWebViewSettings(){
WebSettings webSetting=webview.getSettings();
webSetting.setUseWideViewPort(true);//设置此属性,可任意比例缩放
webSetting.setLoadWithOverviewMode(true);
webSetting.setJavaScriptEnabled(true);
webSetting.setAllowFileAccess(true);
webSetting.setBuiltInZoomControls(false);
webSetting.setSupportZoom(true);
webSetting.setCacheMode(WebSettings.LOAD_DEFAULT);
webSetting.setDomStorageEnabled(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
webview.setWebContentsDebuggingEnabled(true);
}
webview.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
if(progressBar!=null){
progressBar.setProgress(newProgress);
if (newProgress == 100) {
progressBar.setVisibility(View.GONE);
}
}
}
});
webview.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
System.out.println("onPageFinshed");
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
System.out.println("onReceivedError");
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
});
return webview;
}
public void setJSObject(JSObject obj) {
jsobject = obj;
if (jsobject != null && webview != null) {
webview.addJavascriptInterface(jsobject, "jsObject");
}
}
}
WebviewSetUtil工具类
最新推荐文章于 2019-03-19 10:23:19 发布