文章链接:https://mp.weixin.qq.com/s/69TRkmFL1aNuSqfw4ULMJw

项目中经常涉及到富文本的加载,后台管理端编辑器生成的一段html 代码要渲染到移动端上面,一种方法是前端做成html页面,放到服务器上,移动端这边直接webView 加载url即可,还有一种后台接口直接返回这段html富文本的,String类型的,移动端直接加载的;具体的需求按实际情况而定,webview直接加载url的就不说了,这里主要说说关于直接加载html的。

一段简单的html代码

private String txt = "<div>\n" +"<a style=\"font-size: 3s0px\" href=\"https://www.manjiexiang.cn/\">程序猿TX</a>\n" +"</div>\n" +"<img src=\"https://www.manjiexiang.cn/upload/file/2018/05/01/qrcode_for_gh_4185bf56352c_258_1.jpg\">\n";

原生webView 加载富文本

原生的webView 直接加载

webView.loadDataWithBaseURL(null,txt,"text/html","UTF-8",null);

如果是textView 有setText(Html.fromHtml(txt))方法,但是这种加载方式,图片无法在textView显示。
如果非要使用textView 加载...

第三方库加载富文本

这里我使用的是RichText 第三方库

implementation ('com.zzhoujay.richtext:richtext:3.0.7'){exclude group: 'com.android.support'
}

同时排除了support包的冲突,使用上

RichText.initCacheDir(this);RichText.from(txt).into(tv);

更多的方法可以去github上查看,这种方式图片是可以加载的,但是css的样式是没法呈现的。

以上的两种方式按自己的需求来进行使用的,试用于后台接口直接返回数据给移动端进行加载的。

加载html文件

一般的webView直接加载url体验上没那么流畅,相对的加载html文件会好点。后台依旧返回html数据给移动端,前端负责写html 文件模板,android将html文件放在assets 文件夹下面,通过webView.loadUrl("file:///android_asset/**.html")加载,至于数据,就是移动端与前端的交互了,之前推荐过一个三方库 [android与js的交互之jsbridge使用
](https://www.manjiexiang.cn/blog/2/detail/),通过这种方式将数据传递给前端,同时可以监听到js的方法调用。
这种方式更加适用于一个页面模板可以反复使用的,后台返回不同的数据进行加载。一个场景就是 viewpager里面的每个fragment页面结构相同,如果使用url加载,每个fragment里的webview去加载一个url,这种在体验上就不是很优雅,而使用html文件加载的方式,后台可以返回list 数据给移动端,对应的去用webview加载本地文件,把各项的数据传给前端展示,加载渲染的速度上会快点。当然如果原生的可以直接渲染页面的,优先原生的。
如果是那种单页面,只是浏览功能的,类似于 "关于我们" 那种页面可以直接用url加载的。

这篇文章主要介绍的是关于html 加载的,目前我们使用的是第三种方式的,不同的需求场景得根据各个项目来定的,关于第三种加载 html 文件的,后续再写一篇文章介绍移动端与前端交互的,而且我们加载的富文本内容相对的也不一样。

欢迎关注我的个人博客:https://www.manjiexiang.cn/

更多精彩欢迎关注微信号:春风十里不如认识你
一起学习,一起进步,欢迎上车,有问题随时联系,一起解决!!!

android 记一次富文本加载之路相关推荐

  1. 记前端项目首屏加载优化(网络篇)

    继之前的一篇<记前端项目首屏加载优化(打包篇)>之后,这次来讲一讲我的首屏加载在网络方面的优化?. 写在前面 资源加载是一个网站的展示在用户浏览器的必经之路,资源的请求次数和响应时间决定了 ...

  2. android richtext显示html,RichText Android 平台下的富文本显示控件 @codeKK Android开源站...

    注意:此项目已不再维护 Android 平台下的富文本解析器 流式操作 低侵入性 依赖少,只依赖了disklrucache和support v4 支持 Html 和 Markdown 格式文本 支持图 ...

  3. 从源码分析Android的Glide库的图片加载流程及特点

    转载:http://m.aspku.com/view-141093.html 这篇文章主要介绍了从源码分析Android的Glide库的图片加载流程及特点,Glide库是Android下一款人气很高的 ...

  4. android 自定义view 动画效果,Android自定义view实现阻尼效果的加载动画

    效果: 需要知识: 1. 二次贝塞尔曲线 2. 动画知识 3. 基础自定义view知识 先来解释下什么叫阻尼运动 阻尼振动是指,由于振动系统受到摩擦和介质阻力或其他能耗而使振幅随时间逐渐衰减的振动,又 ...

  5. android富文本图片自适应,Android 图片混排富文本编辑器控件

    一.一个Android 图片混排富文本编辑器控件(仿兴趣部落) 1.1 图片混排富文本控件 是一种图片和文字混合在一起的控件,文本之间可以插入图片,类似于网页的排版样式. 1.2 该控件主要是仿兴趣部 ...

  6. Android重点笔记,安卓listview 懒加载的实现笔记

    1.实现目的与用途 使用懒加载可降低单次访问后台的所获取的数据量,从而提高获取数据的速度,减少流量使用,加快UI界面的响应,提高用户体验度. 2.实现思路 两种实现思路: 1.先设定listview每 ...

  7. Android插件化开发之动态加载技术简单易懂的介绍方式

    转载地方:https://segmentfault.com/a/1190000004062866 基本信息 Author:kaedea GitHub:android-dynamical-loading ...

  8. Android 图片混排富文本编辑器控件

    概述 一个Android 图片混排富文本编辑器控件(仿兴趣部落) 详细 代码下载:http://www.demodashi.com/demo/12032.html 一.一个Android 图片混排富文 ...

  9. Android下拉刷新和上拉加载更多

    Android下拉刷新和上拉加载更多 下拉刷新 通过android系统提供的组件:SwipeRefreshLayout 一.基本使用 1 xml中 添加 SwipeRefreshLayout 组件 该 ...

最新文章

  1. 剑指offer:面试题37. 序列化二叉树
  2. mongoose手动生成ObjectId
  3. ICLR2020 | CS-GNN:用平滑度刻画图信息的使用
  4. C++ 协程介绍[译]
  5. linux grep 点号的匹配
  6. hdu1978 简单记忆化搜索
  7. HTTP概念详解与案例测试
  8. intel编译器_Intel编译器编译并行版lammps
  9. Angular之双向数据绑定(上)
  10. Web Storage 与cookies
  11. 【教程分享】大数据视频教程
  12. 145分计算机考研408复习复盘
  13. 将图片url转file类型
  14. Mineros 远程登录,外网登录,解决无法在家控制机器的问题
  15. 12个免费矢量免抠素材网站
  16. 风险评估资产重要性识别_基于数据安全的风险评估(一):数据资产识别、脆弱性识别...
  17. Android TV Input Framework(TIF)--构建TV input list
  18. 本地设置测试域名转向
  19. 第十四篇、贪吃蛇小游戏的制作
  20. 基础补充——为什么电流的波峰波谷很多毛刺?

热门文章

  1. 想学python有什么用-学python日常工作有什么用?
  2. python处理excel教程实例-Python玩转Excel的读写改实例
  3. 编程中python怎么读-Python编程怎么学习好?老男孩Python入门
  4. python linux命令-Python之路【第三篇】:Linux常用命令
  5. python培训班靠谱的-Python培训机构就业靠不靠谱?
  6. python教程书籍-推荐python机器学习实践的书籍?
  7. python使用os和shutil模块进行文件创建,删除,移动,复制,重命名
  8. python中的绘图模块turtle的使用
  9. UVa11292 - Dragon of Loowater(贪心)
  10. 分享九款构建响应式网站的最佳PHP框架