- Custom default font (jost.ttf)
To override it for a font family 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.
- Changed `.setBold()` to `.setBold(boolean enabled)`
- Changed `.setItalic()` to `.setItalic(boolean enabled)`
- Changed `.setUnderline()` to `.setUnderline(boolean enabled)`
- Changed `.setStrikeThrough()` to `.setStrikethrough(boolean enabled)`
- Added `.toggleBold()`
- Added `.toggleItalic()`
- Added `.toggleUnderline()`
- Added `.toggleStrikeThrough()`
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 Family
- Font Size
- Background Color
- Width
- Height
- Placeholder
- Load CSS
- State Callback
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.4.3'
// 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
// Enable bold
editor.setBold(true);
// Disable bold
editor.setBold(false);
// Toggle bold
editor.toggleBold();
Italic
// Enable italic
editor.setItalic(true);
// Disable italic
editor.setItalic(false);
// Toggle italic
editor.toggleItalic();
Underline
// Enable underline
editor.setUnderline(true);
// Disable italic
editor.setUnderline(false);
// Toggle italic
editor.toggleUnderline();
StrikeThrough
// Enable strikethrough
editor.setStrikeThrough(true);
// Disable strikethrough
editor.setStrikeThrough(false);
// Toggle strikethrough
editor.toggleStrikeThrough();
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 SDK 17+
-
Daichi Furiya (wasabeef) - [email protected]
-
Kishan Jadav (kishannareshpal) - [email protected]
-
Inspired by
ZSSRichTextEditor
by nnhubbard.
Copyright 2021 Daichi Furya and Kishan Jadav
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.