当前位置: 首页 > news >正文

android项目实战之编辑器集成

引言

项目需要用到编辑器,采用RichEditor,如下效果

实现

1. 引入库2

implementation 'jp.wasabeef:richeditor-android:2.0.0'

2.  XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:layout_marginBottom="@dimen/dp_60"android:theme="@style/customTheme"><HorizontalScrollViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="@color/app_color_9b"><LinearLayoutandroid:orientation="horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content"><ImageButtonandroid:id="@+id/action_undo"android:layout_width="48dp"android:layout_height="48dp"android:background="@null"android:contentDescription="@null"android:src="@mipmap/undo" /><ImageButtonandroid:id="@+id/action_redo"android:layout_width="48dp"android:layout_height="48dp"android:background="@null"android:contentDescription="@null"android:src="@mipmap/redo" /><ImageButtonandroid:id="@+id/action_bold"android:layout_width="48dp"android:layout_height="48dp"android:background="@null"android:contentDescription="@null"android:src="@mipmap/bold" /><ImageButtonandroid:id="@+id/action_heading1"android:layout_width="48dp"android:layout_height="48dp"android:background="@null"android:contentDescription="@null"android:src="@mipmap/h1" /><ImageButtonandroid:id="@+id/action_heading2"android:layout_width="48dp"android:layout_height="48dp"android:background="@null"android:contentDescription="@null"android:src="@mipmap/h2" /><ImageButtonandroid:id="@+id/action_heading3"android:layout_width="48dp"android:layout_height="48dp"android:background="@null"android:contentDescription="@null"android:src="@mipmap/h3" /><ImageButtonandroid:id="@+id/action_heading4"android:layout_width="48dp"android:layout_height="48dp"android:background="@null"android:contentDescription="@null"android:src="@mipmap/h4" /><ImageButtonandroid:id="@+id/action_heading5"android:layout_width="48dp"android:layout_height="48dp"android:background="@null"android:contentDescription="@null"android:src="@mipmap/h5" /><ImageButtonandroid:id="@+id/action_heading6"android:layout_width="48dp"android:layout_height="48dp"android:background="@null"android:contentDescription="@null"android:src="@mipmap/h6" /><ImageButtonandroid:id="@+id/action_insert_image"android:layout_width="48dp"android:layout_height="48dp"android:background="@null"android:contentDescription="@null"android:src="@mipmap/insert_image" /></LinearLayout></HorizontalScrollView><androidx.core.widget.NestedScrollViewandroid:layout_width="match_parent"android:layout_height="wrap_content"><jp.wasabeef.richeditor.RichEditorandroid:id="@+id/editor"android:layout_width="match_parent"android:layout_height="wrap_content" /></androidx.core.widget.NestedScrollView><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:text="详情预览"android:visibility="gone"android:textSize="12sp" /><TextViewandroid:id="@+id/preview"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="15dp"android:visibility="gone"/></LinearLayout>

3. fragement片段初始化

 private void initEditor(){mPreview = (TextView) mActivity.findViewById(R.id.preview);mEditor = (RichEditor) mActivity.findViewById(R.id.editor);//初始化编辑高度mEditor.setEditorHeight(200);//初始化字体大小mEditor.setEditorFontSize(16);//初始化字体颜色mEditor.setEditorFontColor(Color.BLACK);//初始化内边距mEditor.setPadding(10, 10, 10, 10);//设置默认显示语句mEditor.setPlaceholder("请输入...");//设置编辑器是否可用mEditor.setInputEnabled(true);//mPreview = (TextView) mActivity.findViewById(R.id.preview);mEditor.setOnTextChangeListener(new RichEditor.OnTextChangeListener() {@Overridepublic void onTextChange(String text) {mPreview.setText(text);}});mActivity.findViewById(R.id.action_undo).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mEditor.undo();}});mActivity.findViewById(R.id.action_redo).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mEditor.redo();}});mActivity.findViewById(R.id.action_heading1).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mEditor.setHeading(1);}});mActivity.findViewById(R.id.action_heading2).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mEditor.setHeading(2);}});mActivity.findViewById(R.id.action_heading3).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mEditor.setHeading(3);}});mActivity.findViewById(R.id.action_heading4).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mEditor.setHeading(4);}});mActivity.findViewById(R.id.action_heading5).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mEditor.setHeading(5);}});mActivity.findViewById(R.id.action_heading6).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mEditor.setHeading(6);}});

http://www.lryc.cn/news/255788.html

相关文章:

  • JAVA程序如何打jar和war问题解决
  • Microsoft 365 Copilot正式上线,如何稳定访问体验?
  • 【安卓】安卓xTS之Media模块 学习笔记(3) VTS测试
  • Go实现http同步文件操作 - 增删改查
  • Spring Boot整合 Spring Security
  • 浅谈低代码
  • Innodb-ruby深入探索Innodb存储结构
  • Echarts的使用 笔记
  • 信息系统工程的基本概念
  • SAP UI5 walkthrough step10 Descriptor for Applications
  • 打造专属小程序,乔拓云模板平台助力商家抢占先机
  • Vue2学习(组件的使用)
  • 基于Spring、SpringMVC、MyBatis开发的游乐场管理系统
  • 数据清洗、特征工程和数据可视化、数据挖掘与建模的应用场景
  • Qt简介、工程文件分离、创建Qt工程、Qt的帮助文档
  • 机器学习与低代码开发:创新驱动的双剑合璧
  • 企业博客SEO:优化SOP,助您提升搜索引擎可见性
  • [HITCON 2017]SSRFme perl语言的 GET open file 造成rce
  • 华为配置Smart Link主备备份示例
  • harmonyOS开发技巧(一)——封装hilog日志
  • npm、yarn常用命令
  • 编译和使用WPS-ghrsst-to-intermediate生成SST
  • 通过静态HTTP实现负载均衡
  • Python开发运维:Python常见异常类型
  • HarmonyOS学习 第1节 DevEco Studio配置
  • WordPress 注册/重置密码/更改密码钩子
  • LabVIEW开发远程结构健康监测系统
  • 多段图问题-动态规划解法
  • Android实验:绑定service实验
  • K8S集群优化的可执行优化