LAYA_展示富文本

本文介绍了如何在Laya.js中展示富文本。提供了两种方法:1. 使用htmlDivElement,需要HTML5语言进行排版和样式设置;2. 使用正则表达式转化富文本为纯文本,然后通过laya.text对象设置样式。作者倾向于使用后者,因为它避免了在TS代码中插入大量HTML5代码。示例展示了将一段包含样式的富文本转换并显示在Laya项目的text组件上。
摘要由CSDN通过智能技术生成

需求:当后台提供一段富文本之后,将富文本转化为合适的text展示在laya中。

可行的方法:
1,使用laya.htmlDivElement.
2,使用正则表达式。将富文本中的部分文字转化为纯文本,再直接赋值给laya的的text对象。

第一种方法:需要用html5语言来写排版和写文本样式。
第二种方法:可以直接使用laya.text对象(可以在编辑器内直接确定文本的样式,行距以及宽高,位置等等)。缺点是没法给每一段字体设置字体颜色。

我喜欢使用的是第二种。因为可以不需要在ts中插入大量html5代码。

比如以下的富文本:
“<p class=“MsoNormal”> ↵\t        作为一名律师,马兵热心公益,担任高新区总工会维权热线志愿顾问律师。 ↵

↵<p class=“MsoNormal”> ↵\t         在2018年全程参与高新区“尊法守法携手筑梦”服务农民工公益法律服务行动。2018年度“尊法守法·携手筑梦”服务农民工公益法律服务行动暨“52公益行•律师在行动”大型公益活动。并被荣聘为合肥市包河区第二期“合适成年人”职务。 ↵ ↵<p class=“MsoNormal”> ↵\t        2018年7月27日至29日,马兵律师作为合肥市未成年健康成长社会观护员受邀参加。并在座谈交流会上作了极具建设性的发言。 ↵ ↵<p class=“MsoNormal”> ↵\t        2018年12月2日,由中共安徽省委宣传部等9部门联合主办,高新区承办的“省暨合肥市2018年‘宪法宣传周’启动仪式”在高新区半边街法治广场举行。安徽皖和律师事务所成为本次活动唯一列席律所,马兵律师作为皖和律所的领队积极组织同事参加,前往启动仪式现场,开展宪法日普法宣传活动。  ↵ ↵<p class=“MsoNormal”> ↵\t        2019年全程参与高新区“尊法守法携手筑梦”服务农民工公益法律服务行动。并受邀在合肥市委党校为高新区长宁中心党组织书记、党务工作者和2019年发展对象开展普法宣传公益讲座。 ↵”

具体实现:
1,新建一个laya项目。创建一个页面,添加一个text组件,并正确设置text的以下属性。font-size=30,leading=10,width=640

import WebGL = Laya.WebGL
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
说一下本文本框的设计: 1、文本框代码量小只有5000多行,全部是核心代码 2、文本框的设计是为了给PMGrid表格作为文本输入用的,PMGrid是一个美丽的类似于Excel的富文本表格,由于此表格正在开发中暂时就不开源了,样例可以看看源代码中的PMGrid.exe,如果有需要也可以给我发邮件feirench@gmail.com。 3、文本框内存占用小,除了作为背景双缓存的几个bitmap,就只是几个int数据,所以内存还是很放心的 4、文本框通篇使用了json作为数据存储,Json具有强大的灵活性,如果是界面开发,将本文本框作为基本输入要素,都不需要数据结构了一个json搞定,将程序作为一个大的json,下面挂页面json,页面下挂多个文本框json就OK了。 5、本文本框的缺点就是没有做增量分析,导致数据量过大的时候会会影响编辑效果,但是5000行文本的编辑是完全可以搞定的,毕竟作为表格的输入数据量不会很大的,如果要实现更大数量级的编辑花费的功夫就需要成倍了,对于一个独立开发者来说可能就得不偿失了! 6、由于图片是全部加载到内存中,如果图片太多也会占用很大的内存 7、文本框未支持国际化,现在仅设计为中文环境中使用,版本二会进行改进 8、很大的特点就是支持在explore中复制文件然后粘贴到文本框中,支持两种类型文件的粘贴:纯文本、图片,支持多选 9、本文本框的Json是本人自己设计的扩展json类型TJSON,可以保存二进制数据,可以添加注释。它的效率应该还是不错的,易用性方面也非常不错,解析和读写参考了CJSON的源代码。开源的所有JSON解析源码中,性能最高的就应该是CJSON了,但是易用性方面也是最差的,可能300行的代码用CJSON就需要写上400行代码,有得也有失去。TJSON的数据量比较小,sizeof(TJSON)==40,并且具有遍历迭代器TJSONIterator、TJSONConstIterator,易用性就跟vector等容器一样;内部实现直接用的是map和vector,性能瓶颈也就是map、vector的性能瓶颈。 二、PMEdit是一个在windows下的富文本框,它能显示文字、编辑文字、显示图片、改变图片显示大小,具有行号、行图标、改变字体属性等特性。 PMEdit完成从底层开发,没有用任何windows控件,代码直接基于最基本GUI、windows消息,很容易移植到OpenGL或其他平台下。 三、样例显示 A、文本编辑 B、图片显示 C、GIF动画展示 D、富文本显示 E、改变背景 F、表格的样例 .........
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值