富文本格式(Rich Text Format, 一般簡稱為RTF)是由微軟公司開發(fā)的跨平臺文檔格式。大多數(shù)的文字處理軟件都能讀取和保存RTF文檔膜廊。RTF是Rich TextFormat的縮寫选泻,意即多文本格式冲粤。這是一種類似DOC格式(Word文檔)的文件,有很好的兼容性页眯,使用Windows“附件”中的“寫字板”就能打開并進(jìn)行編輯梯捕。RTF是一種非常流行的文件結(jié)構(gòu),很多文字編輯器都支持它窝撵。一般的格式設(shè)置傀顾,比如字體和段落設(shè)置,頁面設(shè)置等等信息都可以存在RTF格式中碌奉,它能在一定程度上實現(xiàn)word與wps文件之間的互訪短曾。
最近正在調(diào)研Android app 如何實現(xiàn)富文本編輯器寒砖,通過在網(wǎng)上查找相關(guān)方面的資料,得知Android 端實現(xiàn)富文本編輯器主要有以下幾種方式:
- webview + javascript
優(yōu)點:能夠與PC端實現(xiàn)互通嫉拐,減少了對客戶端的依賴哩都,PC端出新樣式,只需要通過更新JS就可以支持婉徘。
缺點:首先要建立JS與原生之間穩(wěn)定的溝通渠道(可以通過JSSDK來提供支持)漠嵌。交互效果沒有原生的理想。需要兼容各個版本的WebView以及其他兼容性問題 (這個問題可以通過使用其他第三方瀏覽服務(wù)解決判哥,比如 Crosswalk)献雅。
第三方開源項目
richeditor-android
icarus-android : Maybe the best rich text editor on android platform - EditText + Span
優(yōu)點:交互效果比較理想,繞過了WebView的兼容性等問題塌计。
缺點:缺點:不能與網(wǎng)頁端文本編輯器實現(xiàn)互通挺身,web端通過css等實現(xiàn)一些新樣式,原生如果要兼容新樣式锌仅,就需要發(fā)版本支持章钾,不夠靈活。
第三方開源項目
android-animate-RichEditor - 使用多種 Layout 布局热芹,每一種布局對應(yīng)一種 HTML 格式贱傀,比如圖片,比如順序列表等伊脓。具體的實現(xiàn)例子可以參考這個鏈接府寒。 Medium 和 Evernote 的富文本編輯就是采用這種方式實現(xiàn)的”ㄇ唬總體來說比較復(fù)雜株搔。
第三方開源項目
mthli/Knife
參考文檔
如何實現(xiàn)一個 Android 端的富文本編輯器組件?
譯 — Spans纯蛾,一個強(qiáng)大的概念
放棄WebView纤房,使用Crosswalk做富文本編輯器