# XRichText **Repository Path**: zxg2472/XRichText ## Basic Information - **Project Name**: XRichText - **Description**: 一个Android富文本类库,支持图文混排,支持编辑和预览,支持插入和删除图片。 - **Primary Language**: Android - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 29 - **Created**: 2018-03-22 - **Last Updated**: 2024-12-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # XRichText [![](https://jitpack.io/v/sendtion/XRichText.svg)](https://jitpack.io/#sendtion/XRichText) 一个Android富文本类库,支持图文混排,支持编辑和预览,支持插入和删除图片。 ### 实现的原理: - 使用ScrollView作为最外层布局,里面填充TextView和ImageView。 - 删除的时候,根据光标的位置,删除TextView和ImageView。 - 生成的数据为list集合,可自定义处理数据格式。 ## 截图预览 ## 使用方式 #### 1. 作为module导入 把xrichtext作为一个module导入你的工程。 #### 2. gradle依赖 ``` allprojects { repositories { ... maven { url 'https://jitpack.io' } } } dependencies { compile 'com.github.sendtion:XRichText:1.1' } ``` #### 3. Maven方式 ``` jitpack.io https://jitpack.io com.github.sendtion XRichText    1.1 ``` ## 具体使用 在xml布局中添加基于EditText编辑器(可编辑) ``` ``` 在xml布局中添加基于TextView编辑器(不可编辑) ``` ``` **我把数据保存为了html格式,生成字符串存储到了数据库。** ### 生成数据 ``` String noteContent = getEditData(); private String getEditData() { List editList = et_new_content.buildEditData(); StringBuffer content = new StringBuffer(); for (RichTextEditor.EditData itemData : editList) { if (itemData.inputStr != null) { content.append(itemData.inputStr); } else if (itemData.imagePath != null) { content.append(""); } } return content.toString(); } ``` ### 显示数据 ``` et_new_content.post(new Runnable() { @Override public void run() { showEditData(content); } }); protected void showEditData(String content) { et_new_content.clearAllLayout(); List textList = StringUtils.cutStringByImgTag(content); for (int i = 0; i < textList.size(); i++) { String text = textList.get(i); if (text.contains("