浏览器控件即webView,下面谈谈如何设置和监控webView控件:webView是J2ME所没有的,是类似于Symbian和.net CF 里面功能类似的浏览器控件,通过这个控件可以直接访问网页,或者把输入的HTML字符串显示出来,功能比较强大,同Symbian或.net CF 浏览器控件比起来有以下几个优点:
1、功能强大,支持CSS,Java script等HTML语言,这样页面就能更漂亮。
2、能够对浏览器控件进行非常详细的设置,比如字体大小,背景色,滚动条样式,等等。
3、能够捕捉到所有浏览器操作,比如点击URL,打开或关闭URL
4、能够很好的融入布局。
5、甚至webView还能和JS进行交互。
在使用webView布局的页面后,我们首先取得webView实例,browser就是webView的对象:
browser=(WebView)findViewById(R.id.webkit);
取得实例后,我们给browser定义下WebSettings,WebSettings是WebView的具体设置类,可以对WebView进行非常详细的设置。
WebSettings bs = browser.getSettings();
取得了webView设置对象。下面开始设置浏览器控件
举例几个最常用的设置
bs.setSupportMultipleWindows(false);
浏览器不支持多窗口显示,意思就是说所有页面在单一窗口打开,这样避免了页面布局控制显示问题,也便于操作控制页面。
bs.setSupportZoom(false);
页面是否可以进行缩放。
bs.setBlockNetworkImage(false)
是否阻止图像的显示
bs.setCacheMode()
缓存的模式,分为几种LOAD_CACHE_ELSE_NETWORK(当本地没有缓存时,从网上下载)
LOAD_CACHE_ONLY 只读取本地缓存
LOAD_DEFAULT默认的缓存模式
LOAD_NORMAL一般的缓存模式
LOAD_NO_CACHE不读取缓存,所有内容均从网络下载
bs.setJavaScriptEnabled(flag)
是否支持JS
其他比如设置字体等更不必详说。通过设置,我们可以获得一个我们需要的浏览器窗口。
另外一方面,我们还设置了一个类叫webNotify 这个类继承自WebViewClient,用来监控浏览器的一系列事件。
webNotify wn = new webNotify(); browser.setWebViewClient(wn) ;
下面列举了比较常用的4个事件
1,接收到Http请求的事件
onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm)
2,打开链接前的事件
public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; }
这个函数我们可以做很多操作,比如我们读取到某些特殊的URL,于是就可以不打开地址,取消这个操作,进行预先定义的其他操作,这对一个程序是非常必要的。
3,载入页面完成的事件
public void onPageFinished(WebView view, String url){ }
同样道理,我们知道一个页面载入完成,于是我们可以关闭loading条,切换程序动作。
4,载入页面开始的事件
public void onPageStarted(WebView view, String url, Bitmap favicon) { }
这个事件就是开始载入页面调用的,通常我们可以在这设定一个loading的页面,告诉用户程序在等待网络响应。
通过这几个事件,我们可以很轻松的控制程序操作,一边用着浏览器显示内容,一边监控着用户操作实现我们需要的各种显示方式,同时可以防止用户产生误操作。
最后我们的浏览器设置好了,可以监控操作了,于是打开一个网址,
browser.loadUrl("http://www.baidu.com/");
当然也可以是自己设定的一段html字符串,当然你的URL腰符合规范。
browser.loadDataWithBaseURL()
分享到:
相关推荐
WebView 控件 基本使用 Android WebView 控件 基本使用 Android WebView 控件 基本使用 Android
Android WebView控件的用法.
android 使用webview控件,注意在android9.0以后必须使用https才能访问网页
使用webview做的一个简单浏览器 供学习参考 可以运行于android2.3之上
根据Android Developer做的WebView案例
Android通过webview控件实现webapp的demo,使用的是 androidstudio,可以实现跟html页面的js交互等
Android 应用开发源码 参考与学习使用
现在web app越来越多,webview控件的使用也越来越重要。 有时我们会在启动页或引导页之后,加载一个webview为控件的主页。 但如果跳转之后再加载,会看到webview有一个加载的过程,如果网页较大可能加载起来会很慢。...
android webview 控件学习及例子
1.避免在xml直接写webview控件,这样会引用activity,所以在xml写一个LinearLayout,然后 linearLayout.addView(new MyWebview(getApplicationContext())); 这样动态生成webview就能避免内存泄漏,可是这样会导致...
crosswalk的WebView控件(XWalkView)代替源生的WebView来加载H5页面(比webview速度快,兼容性好)(Module包)
Android 使用Webview控件来实现【数据图表(HTML+JS)】的显示,如项目有问题,请联系我谢谢
收集常见webview控件小知识,与大家分享一下
Android的webview控件,选中文字
Android应用中使用WebView空间打开网页的例子。
本文实例讲述了Android开发中使用WebView控件浏览网页的方法。分享给大家供大家参考,具体如下: 项目中遇到数学展示问题,常规的Textview显示处理不了数学公式,利用图片生成对服务器又产生较大压力,经过查询,...
1.本文采用的是android调用assest中的本地.html文件,webview展示(加载网络的html效果是一样的,把url替换掉就行) 2.包含本地.html文件加载,点击.html控件,Android端响应 3.包含本地.html文件加载,点击.html...
android平台上用webview控件实现html网页上二级联动的效果,自己做的小例子。喜欢下载收藏。