WebView的一些筆記

一般使用wevview的時候無非就是顯示加載網頁,下面的一些方法參數比較常用:

webView.setInitialScale(100);//webview默認縮放比例爲100,要修改則需設置setInitialScale()參數即可
        webView.getSettings().setBuiltInZoomControls(true);//啓用縮放功能
        webView.invokeZoomPicker();//顯示縮放的小工具
        webView.getSettings().setJavaScriptEnabled(true);//啓用JavaScript功能,功能有限,需要WebViewClient和WebChromeClient來配合
        //創建WebViewClient對象指定給webview,使得webview可以開啓用戶單機的超鏈接
        webView.setWebViewClient(new WebViewClient());
        //給webview增加進度條
        webView.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                super.onProgressChanged(view, newProgress);
                pb.setProgress(newProgress);
                pb.setVisibility(newProgress < 100 ? View.VISIBLE : View.GONE);

            }
        });

        //webView.loadUrl("https://www.jd.com");
        @Override
    public void onBackPressed() {

        //當按下回退鍵時,如果有上一頁就回退,沒有就退出程序
        if (webView.canGoBack()) {
            webView.goBack();
            return;
        }
        super.onBackPressed();
    }

    public void search(View v) {
        keyWord = et_keyText.getText().toString().replaceAll("\\s+", "+");
        //將字符串中單一字符或連續空白換成“+”
        webView.loadUrl(baseURL + keyWord);
    }

    @Override
    protected void onPause() {
        super.onPause();
        //獲取編輯器對象
        SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
        editor.putString("關鍵字", keyWord);//存儲當前的搜索參數
        editor.commit();//一定要存盤
    }

    @Override
    protected void onResume() {
        super.onResume();
        //獲取首選項對象
        SharedPreferences myPref = getPreferences(MODE_PRIVATE);
        keyWord = myPref.getString("關鍵字", "heheda");//讀取存儲的字符串,沒有則返回heheda
        if (webView.getUrl() == null) {
            webView.loadUrl(baseURL + keyWord);
        }

    }

筆記知識點:
1、webview默認不支持縮放功能、JavaScript。
2、要讓webview支持多具備瀏覽器功能或自定義行爲,要搭配android.webkit下的WebSettings、WebViewClient、WebChromeClient類。
3、WebSettings用於控制WebView基本設置(啓動網頁縮放、javascript等)。調用WebView的getSettings()方法即可獲取其WebSettings對象
4、WebViewClient控制WebView本身的行爲,可獲取用戶單機網頁中超鏈接、網頁加載的開始結束的等事件的控制權。
5、WebChromeClient的onProgressChanged()會在網頁加載進度有異動的時被調用(0~100)。
6、一般程序都是在Activity的onPause()方法中進行存儲數據的操作,在onResume()方法中讀取先前存儲的數據,以恢復Activity的相關狀態。

知識點來源於網絡,轉載註明出處:http://blog.csdn.net/u011771800/article/details/54095054

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章