[DISCONTINUED] Rrich text editor for android platform. 安卓富文本编辑器,暂停维护
Maybe the best rich text editor on android platform. Base on Simditor
Add this line to your build.gradle file under your module directory.
compile 'com.github.mr5:icarus:0.1.14'Java codes:
…see Button.java
Placeholder of Editor. Use the placeholder attribute value of the textarea by default.
default: "Icarus editor."
Example:
options.setPlaceholder("Input something...");Default image placeholder. Used when inserting pictures in Edtior.
default: "images/image.png"
Example:
options.setDefaultImage("file:///android_asset/xxx.jpg");Remove all styles in paste content automatically.
default: false
Example:
options.setCleanPaste(true);Tags that are allowed in Editor
default: {"br", "span", "a", "img", "b", "strong", "i", "strike", "u", "font", "p", "ul", "ol", "li", "blockquote", "pre", "code", "h1", "h2", "h3", "h4", "hr"}
Example:
// option replacement.
options.setAllowedTags(Arrays.asList("a", "span", "img");
// add tag to current tag list.
options.addAllowedTag("pre");Whitelist of tag attributes. Note that custom whitelist will be merged into the default one.
default:
img: {"src", "alt", "width", "height", "data-non-image"}
a: {"href", "target"}
font: {"color"}
code: {"class"}Example:
// option replacement.
options.setAllowedAttributes(new HashMap>());
// add new attribute to current tag list.
options.addAllowedAttributes("a", Arrays.asList("class", "src", "alt", "data-type"));icarus.loadCSS("file:///android_asset/editor.css");
icarus.loadJs("file:///android_asset/test.js");Some buttons depend user's actions, such as Button.NAME_LINK, Button.NAME_IMAGE. So you want to show a popover for user to do these actions. Icarus offered 3 Popover Implementations, HtmlPopoverImpl, ImagePopoverImpl, LinkPopoverImpl,
Samples:
TextView imageButtonTextView = (TextView) findViewById(R.id.button_image);
imageButtonTextView.setTypeface(iconfont);
TextViewButton imageButton = new TextViewButton(imageButtonTextView, icarus);
imageButton.setName(Button.NAME_IMAGE);
imageButton.setPopover(new ImagePopoverImpl(imageButtonTextView, icarus));
toolbar.addButton(imageButton);You can implement your own popover to handler user's actions.
icarus.insertHtml("");// Get contents
icarus.getContent(new Callback() {
@Override
public void run(String params) {
Gson gson = new Gson();
Html html = gson.fromJson(params, Html.class);
Log.d("Content gotten", html.getContent());
}
});
// Set contents
icarus.setContent("new content");No open issues yet, or sync has not completed.