[英]Implementing a rich text editor in Android?
我想知道是否有任何好的选择可以在Android中实现富文本编辑器 。 请注意,我所说的是一种可以在Android应用程序中使用的富文本编辑器,而不是使用HTML和Javascript嵌入在网页中的富文本编辑器。
我的要求是:
如您所见,这几乎类似于Windows上的典型RichEdit控件。
到目前为止,我已经做了一些努力(调查和原型设计):
我尝试使用WebView控件加载带有HTML片段的HTML片段。 内容变成可编辑的,因为它是HTML,所以我想它可以满足我的大多数要求。 但这有几个问题:
我尝试使用EditText控件。 它似乎支持某种程度的富文本编辑(颜色,字体,粗体,斜体,下划线,嵌入式图像,项目符号列表)。 但是我仍然不知道如何实现以下要求:
顺便说一句,我已经看到那里有几个* Span类,但是我不确定它们是否有帮助...而且http://developer.android.com没有提供有关它们的很多有用信息。
那么,到底如何在Android上实现富文本编辑器? 我可以扩展EditText并添加新功能吗? 还是我应该从头开始做某事-扩展视图并自己实现所有功能? 对于以后的选项(扩展“视图”),我什至不知道如何显示文本插入符号并使其闪烁,更不用说通过用户键入来移动插入符号了。
我现在很绝望...有什么提示吗?
谢谢!
-托尼
经过进一步调查,似乎扩展EditText将是我最好的选择。 我以某种方式弄清楚了如何使用那些Span类,并猜想我应该能够通过使用(扩展)它们来完成大多数技巧。
例如,扩展BulletSpan并覆盖drawLeadingMargin应该可以控制子弹外观。 扩展LeadingMarginSpan应该可以帮助我在编号列表上。
对于表格,我的最初计划是扩展LineBackgroundSpan并在drawBackground替代中绘制所有表格边框。 但是,我仍然需要弄清楚如何在表格单元格中布置所有文本并正确处理插入符号的移动和选择。 有什么建议吗?
如果需要进行足够大的更改,我可能会同时扩展EditText
和TableLayout
或者至少最终使用它们的大部分源代码 。
您可以执行以下操作:
在我看来,如果您不得不考虑布局问题,那么最好还是自己重新编写。 从我记得的情况来看,“编辑”文本(和Richt文本编辑器)非常适合任何您将数据作为纯文本的情况。
有一个名为android-richtexteditor的开源EditText RTF编辑器,但是在r5中莫名其妙地删除了代码。 代码仍然在r4中 ; 只需使用svn签出r4或更早版本即可访问它。 该代码似乎支持斜体,下划线,颜色选择器,文本大小等。
从EditText扩展是最适合您的选择,它支持CharacterSpan和ParagraphSpan。
在Google Play上查看我的应用程序: https : //play.google.com/store/apps/details?id=com.hly.notes
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.