gpt4 book ai didi

android - 在 Android 中实现富文本编辑器?

转载 作者:IT王子 更新时间:2023-10-28 23:40:37 28 4
gpt4 key购买 nike

我想知道是否有任何好的选择可以在 Android 中实现 富文本编辑器。请注意,我说的是可以在 Android 应用程序中使用的富文本编辑器,而不是使用 HTML 和 Javascript 嵌入网页中的编辑器。

我的要求是:

  • 基本格式(颜色、字体、突出显示、粗体、斜体、下划线等)
  • 超链接
  • 内嵌图片
  • 项目符号列表和编号列表
  • 内嵌表格(只有单元格内的内容是可编辑的,而不是表格结构)

如您所见,这与 Windows 上的典型 RichEdit 控件非常相似。

以下是我迄今为止所做的一些努力(调查和原型(prototype)设计):

使用 Web View

我尝试使用 WebView 控件加载一个带有 .内容变得可编辑,因为它是 HTML,我想它可以满足我的大部分要求。但它有几个问题:

  • (致命)没有文本插入符号。用户将不知道他/她输入的字符将被插入到哪里。
  • 默认情况下,屏幕软键盘是不可见的。有一个技巧,用户必须长按菜单按钮才能调出键盘。但我认为这是一个非常糟糕的用户体验。此外,屏幕布局未正确重新排列,文本插入点有时会被键盘覆盖。

使用编辑文本

我尝试过使用 EditText 控件。它似乎支持某种程度的富文本编辑(颜色、字体、粗体、斜体、下划线、内嵌图像、项目符号列表)。但我仍然无法弄清楚如何实现以下要求:

  • 控制项目符号符号的外观(点、圆、破折号、箭头、星号等)
  • 编号列表(1.、2.、3. 等)
  • 表格

顺便说一句,我已经看到有几个 *Span 类(class),但我不确定它们是否可以提供任何帮助......还有 http://developer.android.com没有提供太多有用的信息。


那么,究竟如何在 Android 上实现富文本编辑器呢?我可以扩展 EditText 并添加我的新功能吗?还是我应该从头开始做一些事情 - 扩展 View 并自己实现一切?对于后面的选项(扩展 View ),我什至不知道如何显示文本插入符号并使其闪烁,更不用说在用户输入时移动插入符号了。

我现在很绝望……有什么提示吗?

谢谢!

-托尼


(编辑)

经过进一步调查,看起来扩展 EditText 是我最好的选择。我不知何故想出了如何使用这些 Span 类,并猜测我应该能够通过使用(扩展)它们来完成大部分技巧。

例如,扩展 BulletSpan 并覆盖 drawLeadingMargin 应该可以让我控制项目符号的外观。扩展LeadingMarginSpan 应该对我的编号列表有所帮助。

对于表格,我最初的计划是扩展 LineBackgroundSpan 并在 drawBackground 覆盖中绘制所有表格边框。但是,我仍然需要弄清楚如何布局表格单元格中的所有文本并正确处理插入符号的移动和选择。有什么建议吗?

最佳答案

我刚刚在 Apache 2.0 许可下发布了我的富文本编辑器组件:

https://github.com/1gravity/Android-RTEditor

enter image description here

关于android - 在 Android 中实现富文本编辑器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4283755/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com