aishang5wpj
aishang5wpj
头像是张良,恩我也很喜欢看秦时明月。
这个项目不要看了,看这个吧 https://github.com/aishang5wpj/RichEditTextPro
@Panjianan 是的,删除键有时候实现不了先选中话题然后再删除,是因为onSelectionChanged多调用了一次,但是也追踪不到是从哪里调用的,也没有好的逻辑来处理这种情况,暂时放着了
@Panjianan 多选的话,其实里面已经加了相关逻辑的,但是有时候不好用,最近比较忙,以后再看看
@Panjianan 你的意思是在选中之前clearFocus();requestFocus() , 然后再尝试选中吗? 我这么改了之后,暂时好像没有出现过选中不了的情况。 请问你是怎么发现这种解决方案的呀,为什么那个水滴状的东西会影响这个判断。。。
@Panjianan 刚才提交了代码,那两个bug都修复了。 一个是水滴状的那个,用你说的那个方法解决了; 另一个是手指拖动时,两边的光标仍然可以选中富文本的bug,也解决了。 多谢帮忙呀~
@Panjianan 这段时间又开始做富文本的需求了,这个项目是之前做的,很粗糙也不完美,最近做了一个完美版的富文本编辑,如果感兴趣的话烦请移步一看啦,欢迎再提建议 ---- RichEditTextPro:加强版富文本编辑 https://github.com/aishang5wpj/RichEditTextPro
要实时改变富文本的话只能监听输入文字,然后调用RichParseManager.parse()去实时解析了。 可以自定义规则,你新加一个Parser,然后用RichParseManager.registerParser来注册你定义的解析器就可以。默认的那些解析器你用不上也可以删除,代码里只是展示一下用法;。
删除富文本的动作都在selectChanged()里面写了,有好几个if分支,你在if分支里面删除是富文本的时候添加一个回调就好了,需要改一下源码
@hzl123456 我把invalidateItemDecorations()操作通过handler和view.post()的方式来完成的话,invalidateItemDecorations可以生效了。 我在stackoverflow上面搜到过类似的问题,有说是因为RecyclerView增删item的时候,其中有了requestLayout的过程,然后立即调用invalidateItemDecorations的话也会产生requestLayout,所以invalidateItemDecorations产生的requestLayout会失效,而用handler的方式,因为有一定延迟,当调用invalidateItemDecorations产生requestLayout的时候,上一次requestLayout已经完成了,所以这种方式是可以生效的。