中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于android的webview

發布時間:2020-07-20 17:31:51 來源:網絡 閱讀:366 作者:alentain 欄目:移動開發

之前對于webview的認識很膚淺,這次正好研究一下:

  1. 在webview當中加載網址的時候,使用load.url(""),但是要記得在AndroidManifest.xml中對其進行配置。配置語句為:<uses-permission android:name="android.permission.INTERNET" />

  2. 重載shouldOverrideUrlLoading(WebView view, String url),當時鏈接的時候,在本軟件進行加載而不是跳到瀏覽器那里。

  3. 返回鍵的處理:我們打開多個網頁后,點擊返回目的是返回上一個網頁,但是事實上會關閉當前activity,于是要對返回鍵做處理.

     

    @Override  

        public boolean onKeyDown(int keyCode, KeyEvent event) {  

           if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {  

              webView.goBack();  

             return true;  

            } else  

                return super.onKeyDown(keyCode, event);  

        }  

  4. 網頁前進按鈕。

     

    if(webView.canGoForward()){  

                    webView.goForward();  

     }else{  

             Toast("已經是最后一頁了,不能再前進了");  

     }  

  5. 點擊刷新按鈕的時候,執行webview.reload();

  6. 如果想在頁面加載的時候添加提示信息,可以復寫webclient的

    onPageStarted(WebView view, String url, Bitmap favicon){

    }

    onPageFinished(WebView view, String url){}

    例子:

     

    @Override 
                public void onPageStarted(WebView view, String url, Bitmap favicon) { 
                    if(progDlg == null || !progDlg.isShowing()){ 
                        progDlg = new ProgressDialog(ctx); 
                       progDlg.setMessage("正在加載,請稍候。。。"); 
                    } 
                   progDlg.show(); 
                } 

          @Override 
           public void onPageFinished(WebView view, String url) { 
                progDlg.dismiss(); 
            } 

7.如果想知道加載進度,需要調用另一個類WebChromeClient。

例子:

webView.setWebChromeClient(new WebChromeClient(){ 
 
            @Override 
           public void onProgressChanged(WebView view, int newProgress) { 
                Message msg = new Message(); 
                                msg.what = 200; 
                                msg.obj = newProgress; 
                                handler.sendMessage(msg); 
            } 
}

然后在handler里更新進度條。

private Handler handler = new Handler(){ 
        public void handleMessage(android.os.Message msg) { 
            switch (msg.what) { 
            case 200: 
                int progress = (Integer) msg.obj; 
                progressBar.setProgress(progress); 
               break; 
 
            default: 
               break; 
            } 
        }; 
    };

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

稻城县| 五指山市| 永新县| 剑川县| 九寨沟县| 谷城县| 桦川县| 鄂温| 修文县| 德化县| 个旧市| 即墨市| 玛多县| 宜春市| 万山特区| 襄垣县| 临朐县| 深泽县| 辽源市| 辽宁省| 肥西县| 苍山县| 临沂市| 利辛县| 东丽区| 务川| 渝中区| 武功县| 云梦县| 高邮市| 文成县| 阜康市| 广南县| 望江县| 巴中市| 漳州市| 金阳县| 双江| 定陶县| 泾川县| 嘉定区|