安卓加载html代码片段
来源:互联网 发布:大数据培训班心得体会 编辑:程序博客网 时间:2024/05/05 10:33
我们在做项目的时候,有时候后台会直接给你返回一段html的代码片段,即后台没有处理过的富文本信息。以前的解决方式是让后台将其生成一个静态网页 ,用webView进行展示,这样子本身就是一个错误的选择,现在PASS。
正确的解决方式网上流传着4个版本。
第一个 :直接使用第三方富文本加载器进行加载。
第二个:使用TextView进行加载---有缺点:当显示的富文本信息的图片路径不全时,加载失败。
第三种:使用jsoup进行解析后添加属性,然后用webView进行加载。
第四种:直接添加头部,然后用webView进行加载。
这四种方式基本都试了一变,发现第一种必须找到好的开源项目,由于时间比较紧张,故而放弃了没有再研究。第二种已经说了,不在累述。
我们直接讲第三种
第三种
项目需要关联jsoup
使用文档:
http://www.open-open.com/jsoup/parse-body-fragment.htm
接下来直接上代码吧
public String jsoup(String str) { Document doc = (Document) Jsoup.parse(str); Elements Img = doc.getElementsByTag("img"); //从一段富文本信息中找到所有图片 Elements p = doc.getElementsByTag("p"); //从一段富文本信息中找到所有文字 if (Img.size() != 0) { for (Element e_Img : Img) { e_Img.attr("width", "100%");//设置图片的宽为100%,高度自适应 e_Img.attr("height", "auto"); } } if (p.size() != 0) { for (Element e_p : p) { Log.e("xiaoma", e_p.toString()); e_p.attr("style", "font-size:40px"); //设置字体的大小 } } return doc.toString();}然后使用webView进行解析就好了。但是这种方式只适用于4.4急以后,再4.3上会出现webView无限下滑的事情。。如何解决?4.4以后这样做,4.3之前,直接用webView直接加载富文本信息。
第四种解决方式:
private String getHtmlData(String bodyHTML) { String head = "<head>" + "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\"> " + "<style>img{max-width: 100%; width:auto; height:auto;}</style>" + "</head>"; return "<html>" + head + "<body>" + bodyHTML + "</body></html>";}目前来说第四种是官方给出的最优解决办法。
最后给出webview进行加载即可。
webView.loadData(str, "text/html; charset=UTF-8", null);
这种方式目前在小米,华为和 三星身上没有发现问题。。
这是我第一次写博客,也只是借鉴的前辈的方法。在此进行感谢。
博客我会继续写下去的。。大家共勉。我是小马。谢谢
0 0
- 安卓加载html代码片段
- 安卓常用代码片段
- 用WebView加载Html代码片段
- jquery加载HTML片段
- 安卓如何使用WebView组件加载HTML代码
- 安卓如何使用WebView组件加载HTML代码
- 常用HTML代码片段
- ajax异步加载html片段
- 安卓图片加载代码
- 有用的,用过的安卓代码片段
- 安卓代码片段,持续更新用于积累
- 安卓必备五个常用代码片段整理
- 安卓webview封装代码片段,留个备份
- 安卓处理Html----图片异步加载
- 安卓webView加载HTML数据
- 安卓webview无法加载html页面
- Jquery load()方法加载html片段
- 有用的HTML+CSS片段,html5片段,css3代码
- java UUID,JSESSIONID,session.getId()______Demo
- Buggy Sorting
- java内存机制
- DecimalFormat的几种用法!
- C语言——复习函数
- 安卓加载html代码片段
- 一步步破解app协议第二步(审计代码)
- spring redis
- 以太坊开发
- ps
- 工具系类 1.1 生成并发送 短信验证码
- Android之控制同步处理输入(Input)、动画(Animation)、绘制(Draw)三个UI操作的Choreographer源码分析
- 第十六周项目一 验证算法——堆排序
- 多态