本人实现富文本编辑器的时候,总结了如下两种方案:
1. 纯 EditText 实现方案
2. 使用ScrollView作为最外层的父容器来控制展示效果
示例Demo地址为:https://github.com/renhui/RichEditor。
核心功能:
图文混排展示,支持图文混排的内容的编辑、保存、展示和再编辑。
内容存储:
内容存储式为HTML格式。
如果只使用首次编辑功能,可以使用RichEditor来编辑,如果需要再编辑功能,建议使用RichEditView。
功能展示:
使用RichEditView作为编辑器的效果如下:
使用RichEditor作为编辑器的效果如下:
除了自己研究的富文本编辑器的实现方案之外,本人也收集了一些其他做的很不错的开源富文本编辑器,实现的时候也可以用来参考:
1.https://github.com/1gravity/Android-RTEditor
Android RTEditor是Android的富文本编辑器组件,可用作EditText的插件。
这个编辑器提供了以下字符格式作为选项:
加粗、斜体、下划线、删除线、上标、下标、字体、字号、文字颜色、背景颜色;
支持以下段落格式:
编号、子弹点、左对齐、中间对其、右对齐、链接、图片;
支持如下编辑操作:
撤销、重做
效果图如下:
2.https://github.com/chinalwb/Android-Rich-text-Editor
项目用Java实现,应用Android的Span实现富文本多种样式的编辑。
目前支持的样式如下:
- 加粗 - Bold
- 斜体 - Italic
- 下划线 - Underline
- 删除线 - Strikethrough
- 有序列表 - Numeric list
- 无序列表 - Bullet list
- 左对齐 - Align left
- 居中对齐 - Align center
- 右对齐 - Align right
- 插入图片 - Insert image
- 文字背景色 - Background color
- 插入超链接 - Hyper link
- @功能 - @
- 引用
- 文字颜色(前景色)
- 插入表情
- 上角标
- 下角标
- 字体大小
- 插入视频
- 插入网络图片
- 插入分割线
- 所有样式均支持导出HTML文件
- 加载HTML内容并继续编辑或显示
效果图如下:
3.https://github.com/hongyangAndroid/MixtureTextView
支持Android图文混排、文字环绕图片等效果
效果图
一般的展示:
在ListView中:
4.https://github.com/LaxusJie/RichEditor
集图文音视频混排的富文本编辑器。
5.https://github.com/Jhuster/JNote
一款支持部分Markdown语法的轻量级便签应用,功能介绍如下
- 支持笔记的添加、修改、删除等功能
- 支持部分Markdown语法,可以快捷输入Markdown符号
- 支持预览Markdown文本,并保存为本地图片
效果图如下: