https://github.com/yangchong211/YCCustomText

自定义文本控件,支持富文本,包含两种状态:编辑状态和预览状态。编辑状态中,可以对插入本地或者网络图片,可以同时插入多张有序图片和删除图片,支持图文混排,并且可以对文字内容简单操作加粗字体,设置字体下划线,支持设置文字超链接(超链接支持跳转),已经用于多个实际项目中……

  • 富文本控件支持动态插入文字,图片等图文混排内容。图片可以支持本地图片,也支持插入网络链接图片;
  • 富文本又两种状态:编辑状态 + 预览状态 。两种状态可以相互进行切换;
  • 富文本在编辑状态,可以同时选择插入超过一张以上的多张图片,并且可以动态设置图片之间的top间距;
  • 在编辑状态,支持利用光标删除文字内容,同时也支持用光标删除图片;
  • 在编辑状态,插入图片后,图片的宽度填充满手机屏幕的宽度,然后高度可以动态设置,图片是剧中裁剪显示;
  • 在编辑状态,插入图片后,如果本地图片过大,要求对图片进行质量压缩,大小压缩;
  • 在编辑状态,插入多张图片时,添加插入过渡动画,避免显示图片生硬。结束后,光标移到插入图片中的最后一行显示;
  • 编辑状态中,图片点击暴露点击事件接口,可以在4个边角位置动态设置一个删除图片的功能,点击删除按钮则删除图片;
  • 连续插入多张图片时,比如顺序1,2,3,注意避免出现图片插入顺序混乱的问题(异步插入多张图片可能出现顺序错乱问题);
  • 在编辑富文本状态的时候,连续多张图片之间插入输入框,方便在图片间输入文本内容;
  • 在编辑状态中,可以设置文字大小和颜色,同时做好拓展需求,后期可能添加文本加粗,下划线,插入超链接,对齐方式等功能;
  • 编辑状态,连续插入多张图片,如果想在图片中间插入文字内容,则需要靠谱在图片之间预留编辑文本控件,方便操作;
  • 支持对文字选中的内容进行设置加粗,添加下划线,改变颜色,设置对齐方式等等;
  • 多线程环境下,富文本编辑状态插入图片或者文字控件使用了同步锁。针对lib,方法访问权限不可滥用;
  • 充分使用了面向对象的编程思想,低耦合,易维护,便于拓展,不断更新维护该富文本库;
  • 富文本中支持动态设置输入文本光标的颜色,使用反射修改属性;

 

03.富文本支持功能

  • 支持加粗、斜体、删除线、下划线行内样式,一行代码即可设置文本span属性,十分方便
  • 支持添加单张或者多张图片,并且插入过渡动画友好,同时可以保证插入图片顺序
  • 支持富文本编辑状态和预览状态的切换,支持富文本内容转化为json内容输出,转化为html内容输出
  • 支持设置富文本的文字大小,行间距,图片和文本间距,以及插入图片的宽和高的属性
  • 图片支持点击预览,支持点击叉号控件去除图片,暴露给外部开发者调用。同时加载图片的逻辑也是暴露给外部开发者,充分解耦
  • 关于富文本字数统计,由于富文本中包括文字和图片,因此图片和文字数量统计分开。参考易车是:共n个文字,共n个图片显示
  • 富文本中支持动态设置图片的宽高适应条件,比如高度在100到200dp之间,支持动态设置删除按钮的位置
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐