移动端强大的富文本编辑器richeditor-android

如果拍照需要相机权限,选择图片需要SD卡权限,插入网络图片需要网络权限

  • 初始化RichEditor

mEditor = (RichEditor) findViewById(R.id.editor);

//初始化编辑高度

mEditor.setEditorHeight(200);

//初始化字体大小

mEditor.setEditorFontSize(22);

//初始化字体颜色

mEditor.setEditorFontColor(Color.BLACK);

//mEditor.setEditorBackgroundColor(Color.BLUE);

//初始化内边距

mEditor.setPadding(10, 10, 10, 10);

//设置编辑框背景,可以是网络图片

// mEditor.setBackground(“https://raw.githubusercontent.com/wasabeef/art/master/chip.jpg”);

// mEditor.setBackgro​
undColor(Color.BLUE);

mEditor.setBackgroundResource(R.drawable.bg);

//设置默认显示语句

mEditor.setPlaceholder(“Insert text here…”);

//设置编辑器是否可用

mEditor.setInputEnabled(true);

  • 实时监听Editor输入内容

mPreview = (TextView) findViewById(R.id.preview);

mEditor.setOnTextChangeListener(new RichEditor.OnTextChangeListener() {

@Override

public void onTextChange(String text) {

mPreview.setText(text);

}

});

  • 功能方法

/**

  • 撤销当前标签状态下所有内容

*/

findViewById(R.id.action_undo).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.undo();

}

});

/**

  • 恢复撤销的内容

*/

findViewById(R.id.action_redo).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.redo();

}

});

/**

  • 加粗

*/

findViewById(R.id.action_bold).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.focusEditor();

mEditor.setBold();

}

});

/**

  • 斜体

*/

findViewById(R.id.action_italic).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.focusEditor();

mEditor.setItalic();

}

});

/**

  • 下角表

*/

findViewById(R.id.action_subscript).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.focusEditor();

if (mEditor.getHtml() == null) {

return;

}

mEditor.setSubscript();

}

});

/**

  • 上角标

*/

findViewById(R.id.action_superscript).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.focusEditor();

if (mEditor.getHtml() == null) {

return;

}

mEditor.setSuperscript();

}

});

/**

  • 删除线

*/

findViewById(R.id.action_strikethrough).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.focusEditor();

mEditor.setStrikeThrough();

}

});

/**

*下划线

*/

findViewById(R.id.action_underline).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.focusEditor();

mEditor.setUnderline();

}

});

/**

  • 设置标题(1到6)

*/

findViewById(R.id.action_heading1).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.setHeading(1);

}

});

findViewById(R.id.action_heading2).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.setHeading(2);

}

});

findViewById(R.id.action_heading3).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.setHeading(3);

}

});

findViewById(R.id.action_heading4).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.setHeading(4);

}

});

findViewById(R.id.action_heading5).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.setHeading(5);

}

});

findViewById(R.id.action_heading6).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.setHeading(6);

}

});

/**

  • 设置字体颜色

*/

findViewById(R.id.action_txt_color).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.focusEditor();

new MaterialDialog.Builder(MainActivity.this)

.title(“选择字体颜色”)

.items(R.array.color_items)

.itemsCallbackSingleChoice(-1, new MaterialDialog.ListCallbackSingleChoice() {

@Override

public boolean onSelection(MaterialDialog dialog, View itemView, int which, CharSequence text) {

dialog.dismiss();

switch (which) {

case 0://红

mEditor.setTextColor(Color.RED);

break;

case 1://黄

mEditor.setTextColor(Color.YELLOW);

break;

case 2://蓝

mEditor.setTextColor(Color.GREEN);

break;

case 3://绿

mEditor.setTextColor(Color.BLUE);

break;

case 4://黑

mEditor.setTextColor(Color.BLACK);

break;

}

return false;

}

}).show();

}

});

findViewById(R.id.action_bg_color).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.focusEditor();

new MaterialDialog.Builder(MainActivity.this)

.title(“选择字体背景颜色”)

.items(R.array.text_back_color_items)

.itemsCallbackSingleChoice(-1, new MaterialDialog.ListCallbackSingleChoice() {

@Override

public boolean onSelection(MaterialDialog dialog, View itemView, int which, CharSequence text) {

dialog.dismiss();

switch (which) {

case 0://红

mEditor.setTextBackgroundColor(Color.RED);

break;

case 1://黄

mEditor.setTextBackgroundColor(Color.YELLOW);

break;

case 2://蓝

mEditor.setTextBackgroundColor(Color.GREEN);

break;

case 3://绿

mEditor.setTextBackgroundColor(Color.BLUE);

break;

case 4://黑

mEditor.setTextBackgroundColor(Color.BLACK);

break;

case 5://透明

mEditor.setTextBackgroundColor(R.color.transparent);

break;

}

return false;

}

}).show();

}

});

/**

  • 向右缩进

*/

findViewById(R.id.action_indent).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.focusEditor();

mEditor.setIndent();

}

});

/**

  • 向左缩进

*/

findViewById(R.id.action_outdent).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.focusEditor();

mEditor.setOutdent();

}

});

/**

*文章左对齐

*/

findViewById(R.id.action_align_left).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.focusEditor();

mEditor.setAlignLeft();

}

});

/**

  • 文章居中对齐

*/

findViewById(R.id.action_align_center).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.setAlignCenter();

}

});

/**

  • 文章右对齐

*/

findViewById(R.id.action_align_right).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.setAlignRight();

}

});

/**

  • 无序排列

*/

findViewById(R.id.action_insert_bullets).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.setBullets();

}

});

/**

  • 有序排列

*/

findViewById(R.id.action_insert_numbers).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.setNumbers();

}

});

/**

  • 引用

*/

findViewById(R.id.action_blockquote).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.setBlockquote();

}

});

/**

  • 插入图片

*/

findViewById(R.id.action_insert_image).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mEditor.focusEditor();

ActivityCompat.requestPermissions(MainActivity.this, mPermissionList, 100);

}

});

/**

  • 插入连接

*/

findViewById(R.id.action_insert_link).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

new MaterialDialog.Builder(MainActivity.this)

.title(“将输入连接地址”)

.items(“http://blog.csdn.net/huangxiaoguo1”)

.itemsCallbackSingleChoice(-1, new MaterialDialog.ListCallbackSingleChoice() {

@Override

public boolean onSelection(MaterialDialog dialog, View itemView, int which, CharSequence text) {

dialog.dismiss();

mEditor.focusEditor();

mEditor.insertLink(“http://blog.csdn.net/huangxiaoguo1”,

“http://blog.csdn.net/huangxiaoguo1”);

return false;

}

}).show();

}

});

/**

  • 选择框

最后

小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取
log.csdn.net/huangxiaoguo1")

.itemsCallbackSingleChoice(-1, new MaterialDialog.ListCallbackSingleChoice() {

@Override

public boolean onSelection(MaterialDialog dialog, View itemView, int which, CharSequence text) {

dialog.dismiss();

mEditor.focusEditor();

mEditor.insertLink(“http://blog.csdn.net/huangxiaoguo1”,

“http://blog.csdn.net/huangxiaoguo1”);

return false;

}

}).show();

}

});

/**

  • 选择框

最后

小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

[外链图片转存中…(img-u2DpPwl9-1719113896400)]一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取

  • 19
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
h5移动端富文本编辑器是一种用于在移动设备上创建、编辑和排版富文本内容的工具。它通过简单而强大的用户界面,使用户能够以直观的方式对文本进行格式化和排版,同时支持插入图片、链接、表格和其他富媒体元素。 相比传统的文本编辑器,h5移动端富文本编辑器具有以下优点: 1. 响应式设计:移动设备的屏幕空间有限,h5移动端富文本编辑器能够根据屏幕大小动态调整布局和功能,以适应不同设备的需求。 2. 触摸友好:h5移动端富文本编辑器采用触摸屏操作,支持手指滑动、捏合和缩放等手势,使得编辑过程更加流畅自然。 3. 自动保存:编辑器可以自动保存用户的编辑内容,防止意外关闭或断网等情况下的数据丢失,提供更好的用户体验。 4. 多样化的样式和工具:编辑器提供丰富的文本样式和排版选项,如字体、颜色、加粗、斜体等,还支持插入图片、链接、表格等富媒体元素,使用户能够创建出更具表现力的文档。 5. 兼容性强:h5移动端富文本编辑器具有良好的兼容性,可以在主流的移动端浏览器中运行,不需要安装额外的插件或应用程序,方便用户在不同设备上进行编辑和调整。 综上所述,h5移动端富文本编辑器是一种功能强大、操作简便的工具,适用于移动设备上创建和编辑富文本内容,能够满足用户对于文本排版和富媒体元素插入的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值