我想知道在Android中实现富文本编辑器是否有任何不错的选择。请注意我在谈论可以在Android应用程序中使用的富文本编辑器,而不是使用HTML和Javascript嵌入在网页中的编辑器。
我的要求是:
正如您所看到的,这与Windows上的典型RichEdit控件非常相似。
到目前为止,我已经做了一些努力(调查和原型设计):
我尝试使用WebView控件加载一个HTML片段。内容变得可编辑,因为它是HTML,我想它可以满足我的大多数要求。但它有几个问题:
我尝试过使用EditText控件。它似乎支持某种程度的富文本编辑(颜色,字体,粗体,斜体,下划线,内嵌图像,项目符号列表)。但我仍然无法弄清楚如何实现以下要求:
那么,我怎样才能在Android上实现富文本编辑器? 我可以扩展EditText并添加我的新功能吗?或者我应该从头做什么 - 扩展视图并自己实现所有内容?对于后来的选项(扩展视图),我实际上甚至不知道如何显示文本插入符并使其闪烁,而不是提及用户键入移动插入符号。
我现在绝望了......有什么提示吗?
谢谢!
托尼
经过进一步调查后,看起来扩展EditText将是我最好的选择。我以某种方式弄清楚如何使用这些Span类,并猜测我应该能够通过使用(扩展)它们来完成大部分技巧。
例如,扩展BulletSpan并覆盖drawLeadingMargin可以让我控制子弹的出现。扩展LeadingMarginSpan应该可以帮助我编号。
至于表格,我的初步计划是扩展LineBackgroundSpan并在drawBackground覆盖中绘制所有表格边框。但是,我仍然需要弄清楚如何布置表格单元格中的所有文本并正确处理插入符号移动和选择。建议?
答案 0 :(得分:12)
答案 1 :(得分:4)
如果我需要进行足够大的更改,我可能会延长EditText
和TableLayout
,或至少最终使用他们的大部分source。
答案 2 :(得分:3)
你能做到以下几点:
对我而言,如果你不得不考虑布局,你最好自己从头开始编写它。根据我的记忆,编辑文本(和richt文本编辑器)非常适合数据为纯文本的任何内容。
答案 3 :(得分:2)
有一个名为android-richtexteditor的开源EditText富文本编辑器,但代码在r5中被莫名其妙地删除了。 code is still there in r4;只需使用svn检查r4或更早版本即可访问它。该代码似乎支持斜体,下划线,颜色选择器,文本大小等。
答案 4 :(得分:0)
您可以使用以下任何一个库:-
答案 5 :(得分:-1)
从EditText扩展是您的最佳选择,它支持CharacterSpan和 ParagraphSpan。
在Google Play上查看我的应用: https://play.google.com/store/apps/details?id=com.hly.notes
答案 6 :(得分:-1)