重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

android富文本框架,android 富文本编辑

开源的Android富文本编辑器

基于原生EditText+span实现的Android富文本编辑器

专注于为中小企业提供成都做网站、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业东辽免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

github地址:

该组件是基于原生EditText+span的方式实现的,旨在提供一个功能齐全且使用方便的Android富文本编辑器。主要支持了加粗斜体等行内样式、标题引用等段内样式以及插入图片视频甚至自定义View等。

Step 1. Add the JitPack repository in your root build.gradle at the end of repositories:

Step 2. Add the dependency in your app build.gradle:

说明:各个样式按钮的layout由调用方自行完成

说明:其中ivBold为加粗ImageView,由调用方在layout中定义;R.mipmap.icon_bold_normal和R.mipmap.icon_bold_light是加粗按钮正常状态和点亮状态图片的资源id。

说明:插入自定义布局最终也是通过bitmap以ImageSpan的形式插入到编辑器中的。

再次附上github地址:

欢迎star、fork、提issue~

如何实现一个 Android 端的富文本编辑器

较常见的实现图文混排的办法

WebView + JavaScript;

EditText + Span;

scrollview + view;

WebView + JavaScript

webview实现富文本也就是html+css+js,不过这种的难点就是在手机客户端中的编辑问题,毕竟是webview和android view的转化问题。

EditText + Span

可以很好的实现简单富文本的编辑,但是在图文混排,以及各种主要自定义的组件面前就显得捉襟见肘。

scrollview + view

优点是可以实现各种各样的view,想什么组件自定义就行,而且实现比较简单,简单几句就可以实现文本插入编辑。

scrollview + view的实现过程

效果图:

首先,先定义一个组件的接口;

一个组件的点击接口,可根据组件选择实现的方法;

然后定义两个简单的组件 RichEditText 和RichImageView;

实现一个简单的图片组件;

定义了两个简单的组件之后,接下来就是最后的组件管理器RichSrcollView,对组件的增删其实也是最基本的addview和removeview,管理器实现了组件的点击事件,键盘的回退删除,组件的插入方法等待;

点击按钮的时候就新建一个图片组件,而文本框组件可以点击组件下面的空白条插入;

其他

在scrollview实现一些view的添加和删除,以及组件间的拼接,就可以实现一个很简单的可定制的富文本编辑器。

android中该怎么解析富文本

你还是照普通文本取过来,然后用textView.setText(Html.fromHtml(str));

这样看看,如果还不行试试用WebView展示;

或者用ImageView显示图片,道理一样。源码网上有

使用TextView结合android.text.Spanned来实现显示富文本和图片。

完全可定制的富文本编辑框架——Slate.js

Slate 是一个完全可定制的富文本编辑框架。通过 Slate,你可以构建出类似 Medium、Dropbox Paper 或者 Canvas 这样使用直观、富交互、体验也已成为 Web 应用标杆的编辑器。Slate 本身并不是一个编辑器,而是一套在 React 和 Immutable 的基础上,用于操作富文本数据的框架。基于 Slate 实现一个富文本编辑器,相当于是使用 React(视图层)+ Immutable(数据层)开发一个普通 Web 应用,Slate相当于Controller。

Github:

文档:

在线示例:

使用npm包管理

Slate 开放了一套用于构建编辑器的模块。其中,最重要的是 Editor 组件:

启动的时候我第一次失败了,然后重新启动下就行了,然后打开浏览器localhost:8080

通过简单的语法实现Markdown的编写

你可以从别的网站直接粘贴带有样式的文本

写过html标签的都知道

类似textarea/textarea

可以在应用某些更改后保存新版本,然后随时回滚到以前的版本

以下是开发者的一些说明(文档有中文版):

类似加粗和斜体的结构可以开箱即用,但评论、嵌入内容以及更多的定制性需求呢?

用户的编写体验可能不错,但在执行编程式变更时却不必要地复杂,而这对于构建高级的编辑行为至关重要。

这是一个非常常见的使用场景,但要实现将文档转换为 HTML 或 Markdown 的简单功能都需要编写大量的模板代码。

各种编辑器在重新发明视图层的轮子,而非使用 React 这样已有的技术方案。你必须学习一套带着自有限制和陷阱的新系统。

编辑器内部的数据结构使其无法用于实时、协作的编辑场景中,除非重写编辑器。

许多编辑器没有对外开放本应为开发者所复用的内部工具,以至于不得不重新发明轮子。

不少编辑器是围绕简单的【扁平】文档结构设计的,这使得表格、嵌入内容和字幕等内容难以理解,有时甚至无法实现。

Slate是一个可以高度定制化博众家之所长的富文本编辑器框架,其强大之处远不是本文所展现的这一点,你可以使用它来创建复杂且优雅的富文本编辑器,相对其他很多编辑器本身来说非常的灵活,文档也非常的详细,目前也正在不断地迭代当中,对富文本编辑器定制化需求比较高的可以尝试,希望能对你有所帮助!

Android 富文本编辑器

最近正在调研Android app 如何实现富文本编辑器,通过在网上查找相关方面的资料,得知Android 端实现富文本编辑器主要有以下几种方式:

如何实现一个 Android 端的富文本编辑器组件?

译 — Spans,一个强大的概念

放弃WebView,使用Crosswalk做富文本编辑器

android 富文本编辑器+webview 显示 高亮

UEditor编译器支持代码高亮显示,设置方法如下:

1.页面head引入UEditor类包文件shCore.js、shCoreDefault.css代码

(注:引入文件路径根据需求变更即可)

2.新增js代码

刷新页面,就可以看到页面代码高亮显示。


网站标题:android富文本框架,android 富文本编辑
网址分享:http://cqcxhl.cn/article/dsipgji.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP