關於android的WebView

android.webkit庫聚合了webkit內核的瀏覽器功能,webview就是她的一個控件,能夠使得網頁輕鬆的內嵌到app裏。android

而且比較強大的是,還能夠直接跟js相互調用。web

webview有兩個方法:setWebChromeClient和setWebClient瀏覽器

setWebChromeClient主要處理解析,渲染網頁等瀏覽器作的事情網絡

WebChromeClient是輔助WebView處理Javascript的對話框,網站圖標,網站title,加載進度等 

onCloseWindow(關閉WebView) 

onCreateWindow() 

onJsAlert (WebView上alert是彈不出來東西的,須要定製你的WebChromeClient處理彈出) 

onJsPrompt 

onJsConfirm 

onProgressChanged 

onReceivedIcon 

onReceivedTitleapp

好比能夠添加進度條,使得界面更友好ide

webview1.setWebChromeClient(new WebChromeClient() 
        {          
            public void onProgressChanged(WebView view, int progress)   
            {   
                setProgress(progress * 100);     
                if(progress == 100){     
                    imageView1.setVisibility(View.GONE); 
                    tv1.setVisibility(View.GONE);
                    pb1.setVisibility(View.GONE);
                    fy1.setVisibility(View.GONE);
                }
            }
        }
        );


WebViewClient就是幫助WebView處理各類通知、請求事件的,具體來講包括: 網站

onLoadResource 

onPageStart 

onPageFinish 

onReceiveError 

onReceivedHttpAuthRequest 編碼

例如:url

webview1.setWebViewClient(new WebViewClient() {   
                    
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)   

{ // Handle the error  spa

Toast.makeText(getApplicationContext(), "網絡鏈接失敗 ,請鏈接網絡。", Toast.LENGTH_SHORT).show();

} public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); //設置字符集編碼  
webview1.getSettings().setDefaultTextEncodingName("UTF-8");
webview1.loadUrl("http://mfsj1908.m.tmall.com/");
相關文章
相關標籤/搜索