【Unity】 HTFramework框架(五十六)MarkdownText:支持运行时解析并显示Markdown文本
更新日期:2024年9月15日。
Github源码:[点我获取源码]
Gitee源码:[点我获取源码]
索引
- MarkdownText
- 支持的Markdown语法
- 标题
- 强调文本
- 表格
- 嵌入图像
- 超链接
- 使用
- MarkdownText设置项
- 运行时属性
- 解析
- 使用ID模式嵌入图像
MarkdownText
MarkdownText
为UGUI Text
的扩展加强版,支持在运行时解析并显示Markdown格式的文本。
支持的Markdown语法
目前它仅支持一些常用的Markdown语法。
标题
强调文本
表格
嵌入图像
超链接
使用
将Text
组件替换为MarkdownText
组件即可。
MarkdownText设置项
在MarkdownText
组件面板,Markdown的设置项默认折叠:
点击打开后,可以看到Markdown的相关设置项:
1.Parse In Awake:在Awake时,便主动解析文本一次。
2.Hyperlink Underline:为超链接显示下划线(这将带来额外开销,但并不大)。
3.Table Row Height:表格行高度。
4.Sprite Assets:嵌入图像时,如果使用id模式,则此为图像的图集。
5.Table Template:表格绘制模板。
6.On Click Hyperlink:超链接点击事件。
7.On Click EmbedTexture:嵌入图像点击事件。
运行时属性
在运行时,会多出如下2个属性:
1.Raw Text:Markdown解析前的原始文本。
2.Pure Text:Markdown解析后的纯净文本,不含任何Markdown标记和富文本标记。
解析
勾选Parse In Awake
后,MarkdownText
会在Awake时主动解析一次,但之后若手动修改了text
,MarkdownText
并不会主动解析,因为考虑到解析的成本。
所以,每次修改text
后,需根据情况主动调用解析:
_markdownText.text = "新的 Markdown 文本内容......";
_markdownText.ParseRawText();
如果Markdown
文本中有嵌入网络图像,则会有下载图像的过程,所以ParseRawText
是一个延时可等待的方法,等到解析完成后,text
会被重新赋值为解析后的富文本
,原始文本
和纯净文本
则可通过上文的两个属性获取。
_markdownText.ParseRawText(() =>
{
//解析完成......
});
使用ID模式嵌入图像
Markdown
的嵌入图像语法为:
![图像](https://......)
使用ID模式则为:
![图像](id:1)
此时,解析程序会根据id去图像图集中匹配图像,图像图集如下:
使用此快捷菜单创建新的图像图集: