RichText

Project Url: zzhoujay/RichText
Introduction: Android 平台下的富文本显示控件
More: Author   ReportBugs   
Tags:
富文本-

注意:此项目已不再维护

Android 平台下的富文本解析器

  • 流式操作
  • 低侵入性
  • 依赖少,只依赖了disklrucachesupport v4
  • 支持 Html 和 Markdown 格式文本
  • 支持图片点击和长按事件
  • 链接点击事件和长按事件
  • 支持设置加载中和加载错误时的图片
  • 支持自定义超链接的点击回调
  • 支持修正图片宽高
  • 支持 GIF 图片
  • 支持 Base64 编码、本地图片和 Assets 目录图片
  • 自持自定义图片加载器、图片加载器
  • 支持内存和磁盘双缓存
  • 已经加入对自定义 Html 解析器的支持

效果

演示

gradle 中引用的方法

compile 'com.zzhoujay.richtext:richtext:latest-version'

使用新的 Html 解析器

只需加入此依赖即可,无须其他操作,新 Html 解析器对原生 Html 解析器的功能做了补充

compile 'com.zzhoujay:html:latest-version'

新 Html 解析器增加了对代码块的支持,代码块可以触发点击事件,通过urlClick设置, 代码块回调的参数由code://开头

使用新 Html 解析器遇到问题请在https://github.com/zzhoujay/Htm提 issue

关于 issue

最近一段时间会比较忙,issue 不能及时处理,一般会定时抽空集中解决 issue,但时间有限解决速度上不敢保证。

欢迎提交 pull request 帮助完善这个项目

注意

在第一次调用 RichText 之前先调用RichText.initCacheDir()方法设置缓存目录

ImageFixCallback 的回调方法不一定是在主线程回调,注意不要进行 UI 操作

本地图片由根路径\开头,Assets 目录图片由file:///android_asset/开头

Gif 图片播放不支持硬件加速,若要使用 Gif 图片请先关闭 TextView 的硬件加速

textView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

使用方式

多看 wiki多看 wiki多看 wiki,重要的事情说三遍

关于自定义的 Html 解析器

Html 解析器子项目:Html

关于 Markdown

Markdown 源于子项目:Markdown

若在 markdown 解析过程中发现什么问题可以在该项目中反馈

关于富文本编辑器

编辑器开发已暂停,RichEditor

具体使用请查看 demo

ListView DemoRecyclerView DemoGif Demo

License

The MIT License (MIT)

Copyright (c) 2016 zzhoujay

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

by zzhoujay

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools