在android中为Commonsware RichEditText添加自定义控件

时间:2014-07-06 05:31:11

标签: android custom-controls commonsware-cwac

创建一个包含

的活动

1)edittext(Commonsware RichEditText)

2)带有以下按钮的工具栏

粗体,斜体,下划线,删除线,字体,中心对齐,左对齐,右对齐,对齐,等等

4)保存按钮

用法:

用户输入文本并通过选择整个文本或部分来编辑文本。效果将应用于所选文本。当用户将文本编辑到编辑器中时,他单击“保存”按钮。从RichEditText读取所有内容并将其发送到数据库,以便以后使用html中的标记和格式。 我使用以下代码进行保存和重试。

Spanned s = Html.fromHtml("<i>Hi</i> There ! <b>how're you ?</b>");
et.setText(s);

//--save to string--
Editable e = et.getText();
String s2 = Html.toHtml(e);

//--restore from string--
Spanned s3 = Html.fromHtml(s2);
et.setText(s3);

src:Copy to clipboard using commonsware cwac-richedit library

问题:

我必须将粗体,斜体,下划线,删除线,字体,居中对齐,左对齐,右对齐,对齐等等应用于工具栏中不同于按钮的选定文本onClick()动作栏按钮。当在RichEditText上方的布局中进行选择时,有什么方法可以将整个视图放在操作栏中?说一个水平LinearLayout或一些自适应布局?

如果有人可以告诉他如何在点击按钮时将任何一个效果添加到选定的文本,那将非常有用。我看到了以下方法但不确定什么是T值。

myRichEditText.applyEffect(effect, value);

感谢。

1 个答案:

答案 0 :(得分:1)

  

当在RichEditText上方的布局中进行选择时,有什么方法可以放置操作栏中显示的整个视图吗?

没有。您的工具栏需要位于主UI中,例如RichEditText小部件本身上方。

  

如果某人能够告诉他如何在点击按钮时将任何一种效果添加到所选文本中,那将非常有用。

引用the documentation

  

applyEffect()更改当前选择,应用或删除效果(例如,将选择设为粗体)。第一个参数是要应用的效果(例如,RichEditText.BOLD)。第二个参数是效果的新值。许多效果都采用布尔值,因此applyEffect(RichEditText.BOLD, true)会将当前选择格式化为粗体。

FWIW,我打算为RichEditText提供一个标准工具栏选项,但在今年秋天之前我不大可能有机会这样做。