Skip to content

zrunker/IbookerEditorAndroid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

书客编辑器安卓Java版

作者:邹峰立,微博:zrunker,邮箱:zrunker@yahoo.com,微信公众号:书客创作,个人平台:www.ibooker.cc。

本文选自书客创作平台第130篇文章。阅读原文书客编辑器安卓Java版 - 体验版下载

书客创作

书客编辑器是一款基于Markdown标记语言的开源的富文本编辑器,它以简易的操作界面和强大的功能深受广大开发者的喜爱。正如官方所说:现在的版本不一定是最好的版本,却是最好的开源版本。官方地址:editor.ibooker.cc

下面针对书客编辑器安卓Java版,进行详解说明。

效果图

在进行讲解之前,首先看一下书客编辑器安卓版的效果图:

书客编辑器安卓版效果图

一、引入资源

引入书客编辑器安卓Java版的方式有很多,这里主要提供两种方式:

1、在build.gradle文件中添加以下代码:

allprojects {
	repositories {
		maven { url 'https://jitpack.io' }
	}
}
dependencies {
	compile 'com.github.zrunker:IbookerEditorAndroid:v1.0.1'
}

2、在maven文件中添加以下代码:

<repositories>
	<repository>
		<id>jitpack.io</id>
		<url>https://jitpack.io</url>
	</repository>
</repositories>
<dependency>
	<groupId>com.github.zrunker</groupId>
	<artifactId>IbookerEditorAndroid</artifactId>
	<version>v1.0.1</version>
</dependency>

二、使用

书客编辑器安卓版简易所在就是只需要简单引入资源之后,可以直接进行使用。因为书客编辑器安卓版不仅仅提供了功能实现,还提供了界面。所以使用过程中,连界面绘制都不用了。

界面分析

书客编辑器安卓版界面大致分为三个部分,即编辑器顶部,内容区(编辑区+预览区)和底部(工具栏)。

书客编辑器安卓-布局轮廓图

首先在布局文件中引入书客编辑器安卓版控件,如布局文件为activity_main.xml,只需要在该文件内添加以下代码即可:

<?xml version="1.0" encoding="utf-8"?>
<cc.ibooker.ibookereditorlib.IbookerEditorView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ibookereditorview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

实际上IbookerEditorView继承LinearLayout,所以它具备LinearLayout的一切功能。

三、功能介绍

根据轮廓图可以看出,书客编辑器安卓版布局只有三个部分,所以关于书客编辑器安卓版功能模块也就分三个部分对外提供使用,即修改哪一个布局模块就是对于哪一个功能模块。

顶部功能模块

书客编辑器安卓版顶部实际上是采用IbookerEditorTopView控件进行呈现,所以要实现顶部相关控件功能首先要获取该控件。

书客编辑器安卓版顶部

书客编辑器安卓版顶部界面图,从左到右分别对应返回(back),撤销(undo),重做(redo),编辑模式(edit),预览模式(preview),帮助(help),关于(about)。知道每个按钮对应的功能,所以就可以去修改或完善相关实现过程。

例如修改返回按钮一些属性,可以使用一下代码:

// 设置书客编辑器顶部布局相关属性
ibookerEditorView.getIbookerEditorTopView()
        .setBackImgVisibility(View.VISIBLE)
        .setBackImageResource(R.mipmap.ic_launcher);

当然也可以通过IbookerEditorTopView获取相关控件,然后针对该控件进行逐一处理:

ibookerEditorView.getIbookerEditorTopView()
        .getBackImg()
        .setVisibility(View.VISIBLE);

这里只是使用返回按钮进行举例说,其他按钮使用规则更返回按钮一样。

中间功能模块

书客编辑器安卓版中间区域又分为两个部分,分别是编辑部分和预览部分,所以要修改相关功能就要获取到相关部分的控件。其中编辑部分由IbookerEditorEditView控件进行呈现,预览部分由IbookerEditorPreView控件进行呈现。

例如修改编辑部分相关属性,可以使用如下代码:

// 设置书客编辑器中间布局相关属性
ibookerEditorView.getIbookerEditorVpView().getEditView()
        .setIbookerEdHint("书客编辑器")
        .setIbookerBackgroundColor(Color.parseColor("#DDDDDD"));

编辑部分并不是只有一个控件,所以也可以获取相关控件,然后针对特定控件进行逐一操作:

ibookerEditorView.getIbookerEditorVpView()
        .getEditView()
        .getIbookerEd()
        .setText("书客编辑器");
// 执行预览功能
ibookerEditorView.getIbookerEditorVpView()
        .getPreView()
        .ibookerHtmlCompile("预览内容");

底部功能模块

书客编辑器安卓版,底部为工具栏,由IbookerEditorToolView进行呈现。

工具栏一共提供了30多种功能,每一个按钮对应一个功能。各个控件分别为:

boldIBtn, italicIBtn, strikeoutIBtn, underlineIBtn, capitalsIBtn, 
uppercaseIBtn, lowercaseIBtn, h1IBtn, h2IBtn, 
h3IBtn, h4IBtn, h5IBtn, h6IBtn, linkIBtn, quoteIBtn, 
codeIBtn, imguIBtn, olIBtn, ulIBtn, unselectedIBtn, 
selectedIBtn, tableIBtn, htmlIBtn, hrIBtn, emojiIBtn;

所以要修改底部相关属性,首先要获取到IbookerEditorToolView控件,然后对该控件进行操作。

// 设置书客编辑器底部布局相关属性
ibookerEditorView.getIbookerEditorToolView()
        .setEmojiIBtnVisibility(View.GONE);

当然底部一共有30多个控件,也可以直接获取到相关控件,然后该控件进行操作,如:

ibookerEditorView.getIbookerEditorToolView().getEmojiIBtn().setVisibility(View.GONE);

补充功能:按钮点击事件监听

这里的按钮点击事件监听主要是针对顶部布局按钮和底部布局按钮。

顶部部分按钮点击事件监听,需要实现IbookerEditorTopView.OnTopClickListener接口,而每个按钮点击通过对应Tag来判断,具体代码如下:

// 顶部按钮点击事件监听
@Override
public void onTopClick(Object tag) {
    if (tag.equals(IMG_BACK)) {// 返回
    } else if (tag.equals(IBTN_UNDO)) {// 撤销
    } else if (tag.equals(IBTN_REDO)) {// 重做
    } else if (tag.equals(IBTN_EDIT)) {// 编辑
    } else if (tag.equals(IBTN_PREVIEW)) {// 预览
    } else if (tag.equals(IBTN_HELP)) {// 帮助
    } else if (tag.equals(IBTN_ABOUT)) {// 关于
    }
}

其中IMG_BACK、IBTN_UNDO等变量是由IbookerEditorEnum枚举类提供。

底部部分按钮点击事件监听,需要实现IbookerEditorToolView.OnToolClickListener接口,而每个按钮点击通过对应Tag来判断,具体代码如下:

// 工具栏按钮点击事件监听
@Override
public void onToolClick(Object tag) {
    if (tag.equals(IBTN_BOLD)) {// 加粗
    } else if (tag.equals(IBTN_ITALIC)) {// 斜体
    } else if (tag.equals(IBTN_STRIKEOUT)) {// 删除线
    } else if (tag.equals(IBTN_UNDERLINE)) {// 下划线
    } else if (tag.equals(IBTN_CAPITALS)) {// 单词首字母大写
    } else if (tag.equals(IBTN_UPPERCASE)) {// 字母转大写
    } else if (tag.equals(IBTN_LOWERCASE)) {// 字母转小写
    } else if (tag.equals(IBTN_H1)) {// 一级标题
    } else if (tag.equals(IBTN_H2)) {// 二级标题
    } else if (tag.equals(IBTN_H3)) {// 三级标题
    } else if (tag.equals(IBTN_H4)) {// 四级标题
    } else if (tag.equals(IBTN_H5)) {// 五级标题
    } else if (tag.equals(IBTN_H6)) {// 六级标题
    } else if (tag.equals(IBTN_LINK)) {// 超链接
    } else if (tag.equals(IBTN_QUOTE)) {// 引用
    } else if (tag.equals(IBTN_CODE)) {// 代码
    } else if (tag.equals(IBTN_IMG_U)) {// 图片
    } else if (tag.equals(IBTN_OL)) {// 数字列表
    } else if (tag.equals(IBTN_UL)) {// 普通列表
    } else if (tag.equals(IBTN_UNSELECTED)) {// 复选框未选中
    } else if (tag.equals(IBTN_SELECTED)) {// 复选框选中
    } else if (tag.equals(IBTN_TABLE)) {// 表格
    } else if (tag.equals(IBTN_HTML)) {// HTML
    } else if (tag.equals(IBTN_HR)) {// 分割线
    }
}

其中IBTN_BOLD、IBTN_ITALIC等变量是由IbookerEditorEnum枚举类提供。

Github地址 阅读原文


微信公众号:书客创作

About

书客编辑器安卓Java版。

Resources

Readme

Stars

Watchers

Forks

Report repository

Packages

No packages published

相关内容推荐

河间申梦网站建设制作沧州网站制作小玩具网站制作开发 杭州常平模板网站制作肇庆专门网站制作电线电缆网站制作头像如何制作自己的发卡网站快手头像在线制作网站测绘网站制作书签网页制作,商务主题网站动物介绍框架网站制作体恤制作网站惠民网站制作收费标准清华同方网站制作起泡株洲网站改版制作个人网站的制作模板psddwcc动态网站制作教程网站制作委托合同php制作网站的成本分享网站制作壁纸凯撒旅游网站制作文字视频网站制作xp制作asp局域网网站深圳佳惠鲜网站制作钢铁网站制作表格自己怎么制作一个答题网站衡阳钓鱼网站制作池州网站制作费用多少营销网站制作哪个好薇苹果手机网站制作教程枣庄网站制作服务贵阳外贸网站设计制作网站交易平台制作天一城网站制作天籁制作网站win10怎么制作网站知识库制作网站排行榜在线课程制作网站江西网站制作怎么选建行网站制作贴纸蒙古国网站制作蛋糕澳门网站制作案例万州网站制作美食如何用Dw制作音乐网站内页廊坊网站制作企业金华怎么用php制作网站中文网站制作软件江门网站制作招聘制作修改器的网站龙岗中国网站制作怎么样泸州网络公司制作网站报价南京网站制作首选 南京乐识医院制作网站需要多少钱苏州网页制作免费网站制作怎么把制作的网站连上域名蒙古包网站制作雪糕一般制作网站时用的什么软件java彩票网站制作网站新闻中心制作服装设计网站制作奶茶济南公司网站怎么制作网站效果图的制作牙克石网站制作建设红河网站制作公司哪家好什么网站可以制作网页国际网站制作蛋糕茶山企业网站制作羊脂球电影网站制作郑州网站制作靠谱乐云seo土豆网电影网站制作制作网站打广告图片大全制作仅能在微信开启网站阳江外贸网站制作临夏网站制作公司有哪些湛江网站开发制作京山营销型网站制作咨询公司网站制作株洲制作网站费用web制作网站页面电子商务网站制作与维护试题有什么视频制作剪辑网站模板网站的制作流程幽默网站制作头像池州公司网站制作如何挑选网站制作小说在线制作网站源码中学作文网站制作北京微网站制作好利来网站制作奶茶水集街道网站制作258小说网站制作h5网页制作网站评测凤山街道网站制作案例音乐网站制作实验目的沈阳自己制作网站中文网站制作软件用记事本如何制作网站龙岗网站制作服务商制作网站支持什么格式图片背包客网站制作蛋糕宁波哪个平台制作网站好新手魔方制作网站网站制作的软件准备日文网站制作+杭州宣城手机网站制作怎样在网上制作网站东区模板网站制作徐州公司网站制作公司制作网站需掌握什么怎么制作av网站梁平静态网站制作罗湖专业网站制作公司演唱会门票网站制作即墨模板网站制作报价网站制作小玩具个人简介网站制作模板石家庄自己制作网站制作网站首页的布局陕西商城网站制作手机网站如何制作策划东流网站制作H5网站要怎么制作网站邮件咨询页面怎么制作亦庄制作网站的公司上海图书馆网站制作奶茶黄页信息类网站制作比较好的湖州怎么制作一个展示网站源码宣传型网站制作城市宣传网站制作方法苏州吴中区外贸网站制作价格建设网站制作哪个好西安网站制作西安搜推宝网络湖北省科技厅网站制作越狱网站制作奶茶临汾网站前端制作订制潞城大型网站制作揭阳网站主页制作有实力的网站制作排名制作图片的网站 知乎商城网站制作服务商靖江展示型网站制作专业团队加盟饭店网站的制作入侵网站制作美食网站前端制作什么制作网站新手怎么制作音乐网站头部轮播图林芝网站制作网页设计班级网站制作dnf游戏钓鱼网站怎么制作南宁网站制作公司哪个好花都网站制作小玩具测评制作动漫网站的常用代码江东区网站制作推广哈医大一院网站制作雪糕北流网站推广制作3d软件制作的创意视频网站安次网站制作公司乐乐网站制作广州白云机场网站制作视频淘客返利网站制作手机个人网站在线制作花店网站制作蛋糕贴纸制作网站可以制作报名表二维码的网站胜利电影网站制作咸宁市网站制作过程新会制作网站的公司攀枝花无锡网站制作邹平县网页设计制作网站模板网站制作费用开什么发票如何策划制作新闻网站滁州网站制作壁纸常熟快照推广和网站制作国内pcb制作网站云浮网站制作有哪些龙岗网站制作蛋糕教程宝鸡企业网站制作哪家便宜演唱会门票网站制作早教网站制作蚌埠h5网站开发制作公司网站制作机构红警网站制作小玩具网站制作栏目结构大良网站制作平台fm网站制作永清租房网站制作网站手机版制作教程桐乡制作网站属于什么岗位网站广告海报制作网站快照制作成套企业网站设计制作玉环网页设计制作网站全域旅游网站制作设计制作头像网站香蜜湖免费的网站制作哪里好珠海二维动画制作公司网站网站制作与推广的武汉好的网站制作品质网站制作排名靠前网站制作利润

合作伙伴

深圳网站优化推广公司

龙岗网络公司
深圳网站优化
龙岗网站建设
坪山网站建设
百度标王推广
天下网标王
SEO优化按天计费
SEO按天计费系统