需求:
一个Android富文本编辑器,可以设置字体大小、字体颜色、插入图片、插入链接、加粗、加下划线
要达到的效果
要实现以上的效果,N年前有个盆友已经帮忙处理完毕了,可以直接拿来用。这个库是RichEditor,并且也有ios相对应的库
使用方法:
这个库是目前我个人见过的最全的android端富文本编辑器,基本上你想到的效果这上边都已有方法,只需调用即可。
这篇笔记中使用方法不是重点,具体使用方法可以直接去RichEditor这个库里下demo,也可以去看有别的人用过这个库后所写的教程,转自brilliantli的CSDN博客(btw->侵删)。
敲黑板,我要记录的重点:
首先强调的是,这个编辑器是基于webView实现的,从编辑器源码就能看到,就是继承了webView,里边写了与js交互的方法
1.android4.4的时候插入图片后删除不了(这个问题是4.4的bug,5.0时解决了)
解决办法:解决办法,其实还有一个办法能把这两个问题都解决了,就是第二个问题的答案
2.android7.0的时候,弹出popupWindow选择颜色或字号,调用richEditor这个编辑器的相关方法无效(找到了怎么重现问题的步骤,找不到原因,不知道是不是webview的郭,只有暴力解决)
以上边效果图为例子:
点击“粗”,“线”都可以成功设置
而点击“小”,弹出弹框后选择了字号,这时候是设置是无效的。我做过实验,如果直接把设置字号按钮控件放到跟这个编辑器所在的activity,与编辑器一层(就比如在“粗”旁边再加一个“大”,这个“大”的onClick方法里执行设置字号的方法是可以成功的),那么是可以设置的
解决办法:换腾讯X5内核的webview,上述俩问题全部解决,腾讯X5你值得拥有,x5加载时一定要注意,如果加载不成功就直接加载默认内核了,上述的问题就解决不了,这里是x5的集成方法
最后:
实际解决后的样子就是效果图那样,我就是换了内核后,其他的原封不动的拷贝了过来, 除了继承webview导包时把android的包换成了腾讯的包以外其他都没有变。demo码云地址。
另,关于demo中webView的预览(图片自适应的效果),我用到了潇潇凤儿博客里的方法
讲真,我不会写代码,我只是代码的搬运工