您的位置:网站首页 > Java工具 > 正文

Android 图文混排富文本编辑器实现详解

类别:Java工具 日期:2019-5-9 7:04:47 人气: 来源:

  setSpan 是公共设置样式方法,通过fontStyle传参,设置对应的样式,例如设置加粗和斜体:

  如果有,在getOldFontSytles 方法中,会进行判断移除;(因为假如选中有加粗,再设置一次就是取消)

  span设置样式和 html 类似,是通过始末设tag来控制区间样式的,所以,你选中区间样式CD,可能与原有样式区间AB是包含,交集关系。因此,当你移除旧样式的时候,需要补始末的tag,这样才能保持未选中的区间样式不变。司马南近况代码getOldFontSytles后for 循环执行补tag 逻辑。

  当非选中状态下,即光标移至某处,设置字体样式,随后输入的文字都是当前设置样式,需要判断start =end ,然后变更span设置mode 方式。需要使用SPAN_INCLUSIVE_INCLUSIVE。

  目前原生 hmtl 能够支持进行html 解析,但是想做定制化的解析,需要对其进行修改。拷贝一份Html.java 为CustomHtml.java;

  查看源码得知,html 将span html 是通过 withinParagraph方法,遍历当前控件样式CharacterStyle 数组,然后根据对应样式,加入对应css 标签(现在主流是style 方式, 目前我只是简单使用了常规html标签做样式控制,可以改)。

  p.s.图片显示不出,因为径是手机本地,若需要,应当在转html时,先上传获得图片url,在赋值转html。

  不过,对于一些简单的图文混排可以考虑使用自定义的方式,但是如果考虑三端统一,尤其是支持 PC 上编辑文章,移动端显示的,最好的方式还是去使用webview,主要是 PC 上的编辑器会插入非常多复杂的 html 标签,非常难解析。当然了 webview 自带很多兼容性问题,选择开源项目,一定要提前查看issue,避免最后踩坑,我之前就遇到过类似囧境(低版本无法删除img标签,最终通过调用 js 删除img)。返回搜狐,查看更多

   文章来源于850游戏博贝棋牌

0
0
0
0
0
0
0
0
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

郑重声明:本站资源来源网络 如果侵犯了你的利益请联系站长删除

CopyRight 2010-2012 技术支持 FXT All Rights Reserved