之前在看大部分的Android 富文本编辑几乎都是利用webview实现,所以,便有了做一个Android原生的富文本编辑器的主意。
样例
照惯例先秀一下图:
![](https://i-blog.csdnimg.cn/blog_migrate/4a2cfce5b7048001ce95a4e448dc75ab.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba2d1cd4140fc227ea024c2bff54c6e6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7e2fc74c725a2bf1b26aef22a3346c44.png)
该富文本编辑器样式仿照印象笔记的Android版,绘制层实现基于Android的span样式。
目前已经实现的功能:
- 粗体、斜体、下划线、删除线、上下标、背景色字体样式;
- 分割线、缩进、有序列表、无序列表、复选框行样式;
- 支持插入本地图片;
- 支持插入网络图片;
- 支持图片预览;
- 支持撤销和反撤销;
- 支持本地持久化、支持增删改;
- 支持编辑模式和预览模式
具体的实现:
主要的实现在于编辑页面,直接是继承自EditText加以改造的(偷懒),但是如果想实现一个商业级别的编辑器,建议使用StaticLayout和自定义View,但是需要考虑的东西比较多,例如输入法和排版布局、选区管理绘制、各类点击事件。