Android EditText - 更改新的输入样式

Android EditText - changing new input style

我正在尝试编写一个简单的富文本编辑器应用程序。我希望能够按下不同的 "style" 按钮(例如粗体、斜体)以使所有进一步的输入都具有该样式,就像我在办公应用程序中所做的那样。

我想我可以在 SpannableString 中选择每个新角色,然后更改其样式,但我不知道该怎么做。我尝试设置一个 OnTextChangedListener 但后来我发现它可能不适合我想做的事情。如果我知道如何监听所有新输入,我可能会想出一些办法,但我找不到任何东西可以做到这一点。

感谢任何帮助。

您可以获得有关 https://developer.android.com/training/keyboard-input/commands.html

的帮助

您可以使用 onkeypress 或 onclick 事件并使用键的 ASCII 值检查该键

请查看我目前正在从事的名为 Mildly Rich Text Editor 的 eBay 开源 Android 项目。它是一个利用 span 改编自 Droid Writer 的富文本编辑库。它也可以作为库导入到您的应用程序中。

存储库中包含一个演示应用程序,您可以构建并试用它。

请注意,GitHub 存储库的 "issues" 部分指出了一些限制(例如,它目前不适用于自定义键盘)。也请随意贡献。