开源搬运工--Android富文本工具

工具搬运工 原作者请点击链接建详情

1. RichText

RichText

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

2. MarkDown

MarkDown

MarkDown

Android平台的原生Markdown解析器,已整合进 RichText

  • 由markdown文本直接转换为Spanned,快捷高效
  • 不依赖特定控件,低侵入性
  • 遵循 Github Flavored Markdown 标准

效果展示

[图片上传失败...(image-aa9fb1-1527690479054)]

使用

Markdown.fromMarkdown(text,imageGetter,textView);

注意: 此方法需要在textView的Measure完成后调用,因为需要获取textView的宽高

例子:

textView.post(new Runnable() {
     @Override
     public void run() {
     Spanned spanned = MarkDown.fromMarkdown(stream, new Html.ImageGetter() {
           @Override
           public Drawable getDrawable(String source) {
                 Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher);
                 drawable.setBounds(0, 0, 400, 400);
                 return drawable;
           }
     }, textView);
     textView.setText(spanned);
}

自定义样式

在可以你的主题里加入 markdownStyle 来自定义样式,如果没有指定样式会使用自带的亮色主题。

例子:



在RichText中使用

RichText 包含了一些对图片和其它东西的处理,使用更简单

RichText.fromMarkdown(markdown).into(textView);

Use in Gradle

compile 'com.zzhoujay.markdown:markdown:1.0.5'

已知问题

  • 暂不支持使用反斜杠 \ 转义
  • 不支持表格
  • TextView设置了setTextIsSelectable(true)后和长按事件冲突
  • 暂时不支持内嵌html

后续计划

  • 修复一些已知问题
  • 加入多选框支持
  • 增加对简单html标签的支持

你可能感兴趣的:(开源搬运工--Android富文本工具)