欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android图文混排完美解决方案:ExpandEditText详情

程序员文章站 2022-05-09 20:38:39
ExpandEditText 一个支持图文混排的EditText 图文编辑 图文解析 该控件自身是没有滚动效果的,故应该在其外部加一层滚动布局。简单使用 Step 1:添加...

ExpandEditText

一个支持图文混排的EditText

图文编辑 图文解析

该控件自身是没有滚动效果的,故应该在其外部加一层滚动布局。简单使用

Step 1:添加项目依赖

在build.gradle文件中添加以下代码

compile 'com.zhuangfei:ExpandEditText:1.0.0'

Step 2:引入ExpandEditText控件

引入该控件后,它就拥有了基础的图文编辑功能。

    

        
    

高级功能

1.基础设置

  expandEditText.bind(this)//绑定上下文,点击非编辑区域键盘自动弹起
                .setOnExpandImageClickListener(this)//图片点击监听
                .setHintText("说些什么吧~");//设置Hint

2.插入文字

  //追加控件显示的文本
  expandEditText.appendText("追加字符串至末尾");

  //设置控件显示的文本
  expandEditText.setText("设置文本");

  //在索引处插入新文本
  expandEditText.createEditEntity(0)

2.插入图片

  //在光标位置插入图片,使用path来替换该图片
  expandEditText.insertBitmap(bitmap,path);

  //在末尾追加图片,使用replace来替换该图片,replace通常为图片的路径
  expandEditText.appendBitmap(bitmap,replace);

  //在索引处插入图片
  expandEditText.createImageEntity(bitmap, replace,0)

3.视图的删除

  //根据实体索引删除视图
  expandEditText.removeExpandViewAt(0)

  //根据实体对象删除视图
  expandEditText.removeExpandViewAt(baseEntity)

4.获取文本

  //将控件中的所有元素转换为字符串
  expandEditText.getText()

5.图文解析

  //解析图文
  expandEditText.load(text);

6.自定义
- 自定义图片解析格式

提示:需要继承ImageWrapper抽象类,实现从字符串中解析出图片实体的方法
- 自定义图片的样式

提示:需要继承DefaultImageLoader
- 文字样式可以修改

提示:实现OnExpandBuildListener接口即可

题外话

由于自身项目需要,所以做了这么个控件,由于时间紧迫,demo以及文档都很粗糙。

项目虽然还有一些地方不太完善,但是已经能够投入生产了,等近期忙完后将会优化项目以及完善demo。