当前位置: 代码迷 >> Web前端 >> Android中施用WebView, WebChromeClient和WebViewClient加载网页
  详细解决方案

Android中施用WebView, WebChromeClient和WebViewClient加载网页

热度:232   发布时间:2012-06-28 15:20:03.0
Android中使用WebView, WebChromeClient和WebViewClient加载网页
Android中使用WebView, WebChromeClient和WebViewClient加载网页
转自 http://www.cnblogs.com/lm3515/archive/2011/03/14/1984091.html
在android应用中,有时要加载一个网页,如果能配上一个进度条就更好了,而android
中提供了其很好的支持,下面是一个例子程序,先帖:
View Code

主程序:
View Code

要注意的是,其中的webView的一系列用法,比如 webView.getSettings().setJavaScriptEnabled(true);设置可以使用javscript;

?
webView.getSettings().setJavaScriptEnabled(true);  
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);  
webView.setHorizontalScrollBarEnabled(false);  
webView.getSettings().setSupportZoom(true);  
webView.getSettings().setBuiltInZoomControls(true);  
webView.setInitialScale(70);  
webView.setHorizontalScrollbarOverlay(true); 


等等,具体参考API
而进度条的使用是在new出一个setWebChromeClient后,可以在内部类中写
onProgressChanged事件

在WebView的设计中,不是什么事都要WebView类干的,有些杂事是分给其他人的,这样WebView专心干好自己的解析、渲染工作就行了。WebViewClient就是帮助WebView处理各种通知、请求事件的,具体来说包括:

onLoadResource

onPageStart

onPageFinish

onReceiveError

onReceivedHttpAuthRequest



WebChromeClient是辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等



onCloseWindow(关闭WebView)

onCreateWindow()

onJsAlert (WebView上alert是弹不出来东西的,需要定制你的WebChromeClient处理弹出)

onJsPrompt

onJsConfirm

onProgressChanged

onReceivedIcon

onReceivedTitle
  相关解决方案