android 双 webview,Android webview加载页面
釋放雙眼,帶上耳機,聽聽看~!
Android webview加載頁面
private WebView webView;
public void init() {
webView = (WebView) findViewById(R.id.webview);
//支持js
webView.getSettings().setJavaScriptEnabled(true);
WebSettings webSettings= webView.getSettings();
//緩存模式
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
//自適應頁面
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
// 縮放至屏幕的大小
webView.getSettings().setLoadWithOverviewMode(true);
//支持縮放
webView.getSettings().setSupportZoom(true);
//關閉縮放按鈕
webView.getSettings().setBuiltInZoomControls(false);
//隱藏原生的縮放控件
webView.getSettings().setDisplayZoomControls(false);
//啟用h5緩存 (webview存在兩種緩存:網頁數據緩存(存儲打開過的頁面及資源)、H5緩存(即appcache))
webSettings.setAppCacheEnabled(true)
//h5緩存大小
webSettings.setAppCacheMaxSize(size);
String appCachePath = getApplicationContext().getCacheDir().getAbsolutePath();
//h5緩存路徑
webSettings.setAppCachePath(appCachePath);
//?設置可以訪問文件
webSettings.setAllowFileAccess(true);
//設置開啟Dom Storage機制
webSettings.setDomStorageEnabled(true);
//WebView的渲染程度高
webSettings.setRenderPriority(WebSettings.RenderPriority.HIGH);
webView=getIntent().getStringExtra("webView");
//不阻塞網絡圖片下載(圖片加載不出來的時候,設置有效)
webSettings.setBlockNetworkImage(false);;
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP ) {
//系統默認禁止了mixed content和第三方cookie(當圖片不顯示的時候,開啟MixedContentMode)
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
//不跳轉系統自帶的瀏覽器
webView.setWebViewClient(new LoadWebView());
webView.loadUrl(weburl);
}
//自適應
WebSettings.LayoutAlgorithm.NARROW_COLUMNS :適應內容大小
WebSettings.LayoutAlgorithm.NARROW_COLUMNS :適應屏幕,內容將自動縮放
//緩存模式
1,LOAD_CACHE_ONLY: 不使用網絡,只讀取本地緩存數據
2,LOAD_DEFAULT: 根據cache-control決定是否從網絡上取數據。
3,LOAD_CACHE_NORMAL: API level 17中已經廢棄, 從API level 11開始作用同LOAD_DEFAULT模式
4,LOAD_NO_CACHE: 不使用緩存,只從網絡獲取數據.
5,LOAD_CACHE_ELSE_NETWORK,只要本地有,無論是否過期,或者no-cache,都使用緩存中的數據。
//常用縮放meta
1、width :?控制viewport的大小)
2、height :指定高度
3、initial-scale :?初始縮放比例,頁面第一次加載時的縮放比例
4、maximum-scale :?允許用戶縮放到的最大比例
5、minimum-scale :?允許用戶縮放到的最小比例
6、user-scalable :?用戶是否可以手動縮放
//Dom Storage機制
dom Storage機制與cookie類似,但是有更大的存儲空間 DOM Storage 分為 sessionStorage和 localStorage。localStorage 對象和 sessionStorage 對象使用方法基本相同,它們的區別在于作用的范圍不sessionStorage 用來存儲與頁面相關的數據,它在頁面關閉后無法使用。而 localStorage 則持久存在,在頁面關閉后也可以使用。
class LoadWebView extends WebViewClient {
//加載完畢時
@Override
public void onPageFinished(WebView view, String url) {
}
//在webview加載URL的時候可以截獲這個動作
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
webView.loadUrl(weburl);
return true;
}
//加載開始時
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override
public void onReceivedSslError(WebView view,
SslErrorHandler handler, SslError error) {
// handler.proceed();// 接受所有網站的證書
// webView.loadUrl(weburl);
}
}
}
總結
以上是生活随笔為你收集整理的android 双 webview,Android webview加载页面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android10分区镜像,分区和映像
- 下一篇: android getprop 分辨率,