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); } });
大概