webview的使用

luoj_616發表於2016-07-08

(一)去掉滾動條

[java] view plain copy
  1. WebView.setVerticalScrollBarEnabled(false);  
  2. WebView.setHorizontalScrollBarEnabled(false);  

(二)去掉縮放按鈕

[java] view plain copy
  1. WebView.getSettings().setBuiltInZoomControls(true);// 設定縮放  
  2. WebView.getSettings().setDisplayZoomControls(false);  

(三)自適應螢幕

這個有三種方式:

第一種(個人不推薦使用,會有一些問題):

[java] view plain copy
  1. WebSetting settings = webView.getSettings();  
  2. settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);  
 LayoutAlgorithm是一個列舉用來控制頁面的佈局,有三個型別:
1.NARROW_COLUMNS:可能的話使所有列的寬度不超過螢幕寬度
2.NORMAL:正常顯示不做任何渲染
3.SINGLE_COLUMN:把所有內容放大webview等寬的一列中WebView的優點:


可以直接顯示和渲染web頁面,直接顯示網頁
webview可以直接用html檔案(網路上或本地assets中)作佈局
和JavaScript互動呼叫
一、基本使用
首先layout中即為一個基本的簡單控制元件:

<WebView
        android:id="@+id/webView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="10dp" />
同時,因為要房訪問網路,所以manifest中必須要加uses-permission:
<uses-permission android:name="android.permission.INTERNET"/>
在activity中即可獲得webview的引用,同時load一個網址:

webview = (WebView) findViewById(R.id.webView1);
webview.loadUrl("http://www.baidu.com/");
//webview.reload();// reload page

這個時候發現一個問題,啟動應用後,自動的開啟了系統內建的瀏覽器,解決這個問題需要為webview設定 WebViewClient,並重寫方法:
webview.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
          @Override
            public void onPageStarted(WebView view,String url,Bitmap favicon)//網頁頁面開始載入的時候
                  //load;
                //view.setEnabled(false);
                super.onPageStarted(view,url,favion);
            }
//處理載入異常。可以顯示一個錯誤的html頁面,也隱藏webView.顯示原生錯誤提示
          @Override
           public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            super.onReceivedError(view, errorCode, description, failingUrl);
           }
   @Override
            public void onPageFinished(WebView view, String url) {//網頁載入結束的時候
                //dismissLoading();
              //  view.setEnabled(true);
            }
   });

相關文章