Modifications made by @quipper: available on jitpack IO
- Add UnorderedList and OrderedList to OnTextSelectionChangeListener
- Update the UI:
- Move the formatting toolbar so it doesn't blocked by the android text selection pop up
- Apply Open Sans Regular as the default font
- Attempt to add rounded box on the richEdit using FrameLayout (check the layout for details)
- Support clipboard text insertion on paste event
- Support Android 21 (fix crash when running on android 21)
- Custom default font (jost.ttf)
To override it for a font of your own, do as follow:
a. Create the /assets folder on your app package if you haven't already;
b. Create a subfolder named "fonts" inside your /assets directory.
c. Place your custom font .ttf file inside the fonts directory.
d. Make sure that the font file is named: "refont.ttf"
e. Enjoy!
- Migrated to AndroidX
- Upgrade of Android Gradle.
– Bumped up the minSdkVersion from 14 to 17, due to JavascriptInterfaces method.
– Implemented a different, more reliable, approach of passing data between WebView and JS. Before: Callback URL Scheme. Now: JavascriptInterfaces
– Removed OnDecorationStateListener as i found it unnecessary.
– Added OnTextSelectionChangeListener which contains two params, one is an object that has all of the information about what format type is enabled to the current Caret; And the second param is the actual selected text.
– Modified OnTextChangeListener, it now returns the html and the text.
RichEditor for Android
is a beautiful Rich Text WYSIWYG Editor
for Android
.
- Looking for iOS? Check out cjwirth/RichEditorView
- Bold
- Italic
- Subscript
- Superscript
- Strikethrough
- Underline
- Justify Left
- Justify Center
- Justify Right
- Blockquote
- Heading 1
- Heading 2
- Heading 3
- Heading 4
- Heading 5
- Heading 6
- Undo
- Redo
- Indent
- Outdent
- Insert Image
- Insert Link
- Checkbox
- Text Color
- Text Background Color
- Text Font Size
- Unordered List (Bullets)
- Ordered List (Numbers)
- Font Size
- Background Color
- Width
- Height
- Placeholder
- Load CSS
- State Callback
Milestone
- Font Family
repositories {
jcenter()
// maven { url 'https://jitpack.io' } // uncomment this if you are using kishan's build.
}
dependencies {
implementation 'jp.wasabeef:richeditor-android:1.2.2'
// or use (for kishan's edit, and upgrades listed on top of this readme file.)
implementation 'com.github.kishannareshpal:richeditor-android:1.3.2'
// don't forget to add jitpack repo by uncommenting the line above.
}
Height
editor.setEditorHeight(200);
Font
editor.setEditorFontSize(22);
editor.setEditorFontColor(Color.RED);
Background
editor.setEditorBackgroundColor(Color.BLUE);
editor.setBackgroundColor(Color.BLUE);
editor.setBackgroundResource(R.drawable.bg);
editor.setBackground("https://raw.githubusercontent.com/wasabeef/art/master/chip.jpg");
Padding
editor.setPadding(10, 10, 10, 10);
Placeholder
editor.setPlaceholder("Insert text here...");
Others
Please refer the samples for usage.
Bold
editor.setBold();
Italic
editor.setItalic();
Insert Image
editor.insertImage("https://raw.githubusercontent.com/wasabeef/art/master/twitter.png","twitter");
Text Change Listener
RichEditor editor = (RichEditor) findViewById(R.id.editor);
editor. setOnTextChangeListener(new RichEditor.OnTextChangeListener() {
@Override
public void onTextChange(String text) {
// Do Something
Log.d("RichEditor", "Preview " + text);
}
});
Others
Please refer the samples for usage.
Android 4+
Please ping me or send a pull request if you would like to be added here.
Icon | Application |
---|---|
Ameba Ownd | |
ScorePal |
Daichi Furiya (Wasabeef) - [email protected]
- Inspired by
ZSSRichTextEditor
in nnhubbard.
Copyright 2017 Wasabeef
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.