WebView到底该使用loadUrl还是loadData

泡在网上的日子 / 文 发表于2015-02-08 14:23 次阅读 WebView

WebView加载数据有两种方式,一种是直接根据一个url来加载一个网页,另一种是只加载一段html文本,两种方法各有利弊。

如果是加载的html文本很简单,对排版的要求不高,那么使用loadData比较好,毕竟只是很省流量的方式,而且还可以将数据保存在本地,做离线缓存。

如果排版比较复杂,还是用loadUrl吧,虽然loadUrl需要消耗更多的流量,也不好做离线缓存,但是loadUrl充分发挥了webview的优势,试想如果用loadData这种方式,为什么不直接用TextView,TextView也可以支持有限的html标签,再自己扩展下,已经足够用了。

其实让我选择loadUrl的原因还有一个,那就是在使用loadData的时候遇到了渲染的问题,字体有时候看起来很小。

但是使用loadUrl需要特别注意里面的链接的问题,当点击一个链接的时候,默认会让浏览器来打开这个链接,可以通过如下代码来让链接在WebView中打开。

        mWebView.setWebViewClient(new WebViewClient() {      
              @Override      
              public boolean shouldOverrideUrlLoading(WebView view, String url)      
              {     
                view.loadUrl(url);      
                return true;      
              }      
        });

当然使用loadData也许并没有我说的那么不堪,也可能是我自己的水平问题。

收藏 赞 (8) 踩 (4)
上一篇:部分可见的侧边菜单与交叉渐变效果的SlidingPaneLayout
Gmail的平板版本有一个特色的功能: 侧边菜单面板总是可见的,当关闭的时候只显示图标,当打开的时候会显示更详细的内容,并且两个内容切换的时候有个交叉渐变效果,是如何实现的呢? 我观察到主面板是在侧边面板打开的时候滑动的,因此应该不是用的 Navigat
下一篇:WebView加载图片超过屏幕大小的问题
使用WebView加载一个网页,很可能会出现横向的滚动条,让界面看起来很不方便,就像打开了一个为电脑设计的网页,尽管这个网页本身只有一个div。 我发现绝大多数情况下是因为图片大小超过屏幕所引起的,因为文字是会自动换行的。 如果你没有网页设计的经验,