Skip to content

富文本(RichTextView)

1、富文本组件

与文本组件类似,区别是,超出显示范围以后,会出现滚动条,可上下滑动。

typescript
// 添加文本组件
let richText = new LM.RichTextView();
this.addChild(richText);
// 文本内容
richText.text = "这是一个测试文本"; 
// 设置位置
richText.x = 100;
richText.y = 100;
// 设置尺寸
richText.width = 400;
richText.height = 200;
//字体颜色
richText.fontColor = "#ffffff";
//字号
richText.fontSize = 36;
//使用字体,必须放在Graphics文件夹下
richText.textFamily = "Graphics/font/微软雅黑.ttf";

2、常用属性

属性解释默认值
xx数值0
yy数值0
z图层高度,越高越靠上层数值0
width数值,不填为自适应
height数值,不填为自适应
text文本内容字符串
backgroundColor背景色字符串,填色号如黑色“#000000”
visible是否可见布尔值,true可见,false不可见true
alpha不透明度数值,0~255,255表示完全不透明255
touchEnabled是否可点击布尔值,true可点击,false不可点击true
alphaHitUnable透明区域是否可点击布尔值,true可点击,false不可点击true
isPenetrable是否可以穿透(点击到下层组件)布尔值,true可穿透,false不可穿透true
scaleX宽缩放率数值,1为原始的宽1
scaleY高缩放率数值,1为原始的高1
zoomCenterX缩放中心x(相对于自己)数值,0.5为组件X轴中点0
zoomCenterY缩放中心y(相对于自己)数值,0.5为组件Y轴中点0
alignHorizontal横向布局0:left 1:center 2:right0
alignVertical竖向布局0:top 1:center 2:bottom0
fontColor字体颜色字符串,填色号如黑色“#000000”#ffffff
fontSize字号数值40
textFamily字体字符串,填字体文件地址,必须放在assets/Graphics文件夹下
lineHeightType行距类型0:行间距用倍数,1:行间距用像素值0
lineHeight行距(含字本身)数值1.5
fontSpace字间距(不含字本身)数值
isTpye打字机开关布尔值false
isTypingSkipOnClick点击后跳过打字机效果布尔值true
typeTime打字机时间,打每个字的时间,单位ms数值100
zoomType字超出组件宽度时的处理数值,0.自动换行 1.缩小字号 2.截断并补充省略号 3.直接截断0

其他属性见文档

3、文本特殊字符转义

作用转义符示例
变色#crichText.text = "#c[255,0,0]我是红色的文字#c[]我恢复原本颜色"
变字体大小#srichText.text = "#s[30]我是30号的文字#s[]我恢复原本字体大小"
行对齐#p[l] 行左对齐
#p[c] 行居中对齐
#p[r] 右对齐
#p[j] 两端对齐
richText.text = "#p[c]我是中对齐的文字#p[] #n[1]我是第二行文字 我是左对齐"
段落对齐#pa[l] 段落左对齐
#pa[c] 居中对齐
#pa[r] 右对齐
#pa[j] 两端对齐
richText.text = "#pa[c]我是段落居中对齐的文字#pa[]#n[1]我是第二行文字 我是左对齐"
加粗#brichText.text = "#b[on]我是加粗的文字#b[off]我不是加粗的文字"
斜体#irichText.text = "#i[on]我是斜体文字#i[off]我不是斜体"
下划线#urichText.text = "#u[on]我是下划线文字#u[off]我不是下划线"
描边#orichText.text = "#o[255,0,0,3]我是描边的文字#o[]我不是描边"
换行#nrichText.text = "我是第一行文字#n[2]换两行我是第三行文字"

4、常用方法

(1)onClick

点击行为

(2)onTouchDown

按下行为

(3)onTouchUp

抬起行为

(4)onTouchMove

鼠标在组件区域内移动(可用作悬浮)

(5)onTouchCancel

鼠标移出组件区域(可用作离开悬浮)

typescript
let richText = new LM.RichTextView()
// 注册了点击事件
richText.onClick(()=>{console.log("点击了控件")})
// 注册了按下事件
richText.onTouchDown(()=>{console.log("按下")})
// 注册了抬起事件
richText.onTouchUp(()=>{console.log("抬起")})
// 注册了移动事件
richText.onTouchMove(()=>{console.log("移动了")})
// 注册了移出事件
richText.onTouchCancel(()=>{console.log("移出")})

(6)setOnTypingCompleteListener

打字机完成监听事件,打字完后会触发一次。

typescript
richText.setOnTypingCompleteListener(()=>{
    console.log("打字机完成")
})

(7)showAllText

立刻刷新绘制文本(经常使用会导致性能降低,正常情况下文本设置属性后会在下一帧进行刷新)

(8)dispose

销毁组件

其他方法见文档