Android-实现图文混排编辑

RichTextX

RichTextX一个帮助开发者实现Android图文混排编辑和显示的库。
开源地址:https://github.com/shine56/RichTextX

添加依赖

implementation 'com.shine56.richtextx:richtextx:1.0.4-beta'

文本编辑器使用方法

在布局文件中

像添加 EditText 一样在布局文件中文件中添加RichEditText

<com.shine56.richtextx.view.RichEditText
    android:id="@+id/rich_edit_text"
    android:textSize="16sp"
    android:lineHeight="20dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

在kotlin文件中:

插入图片
val richEditText = findViewById<RichEditText>(R.id.rich_edit_text)
val image = richEditText.imageBuilder
    .setImageUrl("imageUrl")
    .setDrawableGet {
        //获取drawable逻辑
    }.create()
writeEdit.insertPhoto(image)
为图片设置点击事件和删除事件
val image = writeEdit.imageBuilder
    .setImageUrl(it)
    .setDrawableGet {
       //获取drawable逻辑
    }
    .setOnImageCLickListener { view, imgUrl ->
        //点击事件响应逻辑
    }
    .setOnImageDeleteListener { view, imgUrl ->
        //删除事件响应逻辑
    }
    .create()
其它富文本操作
/**
 * 加粗
 */
richEditText.setBold(true)

/**
 * 缩进
 */
richEditText.indent()

/**
 * 设置字号
 */
richEditText.setFontSize(28)

文本显示器使用方法

在布局文件中:

像添加 TextView 一样在布局文件中文件中添加RichTextView

<com.shine56.richtextx.view.RichTextView
    android:id="@+id/rich_text_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

在kotlin文件中:

显示htnl文本
//将editText的文本转成html字符串
val htmlText = Html.toHtml(richEditText.text)

//将html字符串显示在RichTextView
val image = writeEdit.imageBuilder
    .setImageUrl(it)
    .setDrawableGet {
       //获取drawable逻辑
    }.create()
val richTextView = findViewById<RichTextView>(R.id.rich_text_view)
richTextView.setTextFromHtml(htmlText, image)

补充说明

  • 插入图片为其设置点击事件和删除事件时,事件响应区域如下图所示,点击黄色区域响应点击事件,点击右上角红色区域响应删除事件。
    RichTextX图片事件相应区域说明图

开源地址:https://github.com/shine56/RichTextX,有兴趣给个star

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值