本人實現富文本編輯器的時候,總結了如下兩種方案:
1. 純 EditText 實現方案
2. 使用ScrollView作為最外層的父容器來控制展示效果
示例Demo地址為:https://github.com/renhui/RichEditor。
核心功能:
圖文混排展示,支持圖文混排的內容的編輯、保存、展示和再編輯。
內容存儲:
內容存儲式為HTML格式。
如果只使用首次編輯功能,可以使用RichEditor來編輯,如果需要再編輯功能,建議使用RichEditView。
功能展示:
使用RichEditView作為編輯器的效果如下:
使用RichEditor作為編輯器的效果如下:
除了自己研究的富文本編輯器的實現方案之外,本人也收集了一些其他做的很不錯的開源富文本編輯器,實現的時候也可以用來參考:
1.https://github.com/1gravity/Android-RTEditor
Android RTEditor是Android的富文本編輯器組件,可用作EditText的插件。
這個編輯器提供了以下字符格式作為選項:
加粗、斜體、下划線、刪除線、上標、下標、字體、字號、文字顏色、背景顏色;
支持以下段落格式:
編號、子彈點、左對齊、中間對其、右對齊、鏈接、圖片;
支持如下編輯操作:
撤銷、重做
效果圖如下:
2.https://github.com/chinalwb/Android-Rich-text-Editor
項目用Java實現,應用Android的Span實現富文本多種樣式的編輯。
目前支持的樣式如下:
- 加粗 - Bold
- 斜體 - Italic
- 下划線 - Underline
- 刪除線 - Strikethrough
- 有序列表 - Numeric list
- 無序列表 - Bullet list
- 左對齊 - Align left
- 居中對齊 - Align center
- 右對齊 - Align right
- 插入圖片 - Insert image
- 文字背景色 - Background color
- 插入超鏈接 - Hyper link
- @功能 - @
- 引用
- 文字顏色(前景色)
- 插入表情
- 上角標
- 下角標
- 字體大小
- 插入視頻
- 插入網絡圖片
- 插入分割線
- 所有樣式均支持導出HTML文件
- 加載HTML內容並繼續編輯或顯示
效果圖如下:
3.https://github.com/hongyangAndroid/MixtureTextView
支持Android圖文混排、文字環繞圖片等效果
效果圖
一般的展示:
在ListView中:
4.https://github.com/LaxusJie/RichEditor
集圖文音視頻混排的富文本編輯器。
5.https://github.com/Jhuster/JNote
一款支持部分Markdown語法的輕量級便簽應用,功能介紹如下
- 支持筆記的添加、修改、刪除等功能
- 支持部分Markdown語法,可以快捷輸入Markdown符號
- 支持預覽Markdown文本,並保存為本地圖片
效果圖如下: