WebView webView = (WebView) findViewById(R.id.webView_FranceAuditionActivity);
webView.setVerticalScrollBarEnabled(false);
//webView相关设置
WebSettings settings = webView.getSettings();
//开启JS功能
settings.setJavaScriptEnabled(true);
settings.setBlockNetworkImage(false);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setUseWideViewPort(true);//关键点
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
settings.setDisplayZoomControls(false);
settings.setAllowFileAccess(true); // 允许访问文件
settings.setLoadWithOverviewMode(true);
settings. setCacheMode(WebSettings.LOAD_NO_CACHE);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int mDensity = metrics.densityDpi;
MyLog.d("ttt", "densityDpi = " + mDensity);
if (mDensity == 240) {
settings.setDefaultZoom(WebSettings.ZoomDensity.FAR);
} else if (mDensity == 160) {
settings.setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
} else if(mDensity == 120) {
settings.setDefaultZoom(WebSettings.ZoomDensity.CLOSE);
}else if(mDensity == DisplayMetrics.DENSITY_XHIGH){
settings.setDefaultZoom(WebSettings.ZoomDensity.FAR);
}else if (mDensity == DisplayMetrics.DENSITY_TV){
settings.setDefaultZoom(WebSettings.ZoomDensity.FAR);
}else{
settings.setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
}
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
});
private class JsInterface {
private Context mContext;
public JsInterface(Context context) {
this.mContext = context;
}
@JavascriptInterface
public void callApp(String type) {
MyLog.e("kkk","franceauditon--JsInterface");
}
}
//java调用js callJSStart()
public void callJSStart() {
runOnUiThread(new Runnable() {
@Override
public void run() {
webView.loadUrl("javascript: callJSStart()");
}
});
}
webViewLoadUrl(url);
JsInterface jsInterface= new JsInterface(this);
webView.addJavascriptInterface(jsInterface, "temp");
webView.setWebChromeClient(new WebChromeClient());
@Override
protected void onDestroy() {
super.onDestroy();
if (webView != null) {
webView.clearCache(true);
webView = null;
}
}