If you find a way to popup options and how to get the selected option (Bold, Italic, Underline), then use this to format the text
private void formatText(EditText editText) {
int end = editText.length();
start = editText.getSelectionStart();
stop = editText.getSelectionEnd();
if (start > stop) {
stop = editText.getSelectionStart();
start = editText.getSelectionEnd();
}
String textBefore = Html.toHtml(new SpannableString(text.getText().subSequence(0, start)));
String selectedText = Html.toHtml(new SpannableString(text.getText().subSequence(start, stop)));
String textAfter = Html.toHtml(new SpannableString(text.getText().subSequence(stop, end)));
if (!selectedText.equals("") || start != stop) {
String formatted = "<b>" + selectedText + "</b>";
StringBuilder builder = new StringBuilder();
builder.append(textBefore);
builder.append(Html.toHtml(formatted));
builder.append(textAfter);
editText.setText(Html.fromHtml(builder.toString()));
editText.setSelection(stop);
textbefore = "";
textafter = "";
selectedText = "";
}
else {
Toast.makeText(context, "select a text", Toast.LENGTH_SHORT).show();
}
}
I think this will work for you.
Bosco source
share