当前位置: 首页 > article >正文

【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时主动解析一次,但之后若手动修改了textMarkdownText并不会主动解析,因为考虑到解析的成本。

所以,每次修改text后,需根据情况主动调用解析:

            _markdownText.text = "新的 Markdown 文本内容......";
            _markdownText.ParseRawText();

如果Markdown文本中有嵌入网络图像,则会有下载图像的过程,所以ParseRawText是一个延时可等待的方法,等到解析完成后,text会被重新赋值为解析后的富文本原始文本纯净文本则可通过上文的两个属性获取。

            _markdownText.ParseRawText(() =>
            {
                //解析完成......
            });

使用ID模式嵌入图像

Markdown的嵌入图像语法为:

![图像](https://......)

使用ID模式则为:

![图像](id:1)

此时,解析程序会根据id去图像图集中匹配图像,图像图集如下:
在这里插入图片描述

使用此快捷菜单创建新的图像图集:

在这里插入图片描述


http://www.kler.cn/news/306338.html

相关文章:

  • 微服务实战系列之玩转Docker(十五)
  • java实现策略模式
  • 腾讯又开放了一款新的开发工具,用起来真优雅
  • Python 中常见的数据结构(二)
  • AWTK fscript 中的 value 扩展函数
  • 安卓BLE蓝牙通讯
  • 智慧灯杆系统架构及各个子系统功能介绍
  • 【技术调研】三维(4)-ThreeJs阴影投射、光线投射及案例
  • three.js KeyframeTrack
  • SpringMVC 入门案例详解
  • 免费像素画绘制软件 | Pixelorama v1.0.3
  • ArrayList动态数组
  • react18基础教程系列--安装环境及packagejson文件分析
  • llama网络结构及源码
  • 【MySQL学习】基础指令全解:构建你的数据库技能
  • OPENAIGC开发者大赛高校组金奖 | 基于混合大语言模型与多模态的全过程通用AI Agent
  • 【搜索算法】以扩召回为目标,item-tag不如query-tag能扩更多数量
  • 软件设计师——程序设计语言
  • 【短距离通信】【WiFi】精讲Android WiFi P2P架构及代码示例
  • SpringBoot教程(安装篇) | RabbitMQ的安装
  • MySQl篇(数据类型)(持续更新迭代)
  • 面试常见题之Spring Cloud
  • Redis常见应用场景
  • fsck 命令:修复文件系统错误
  • 读构建可扩展分布式系统:方法与实践05分布式缓存
  • 2-3.Android 存储之存储空间(私有空间、公共空间)
  • 【Android】Room—数据库的基本操作
  • 第108集《大佛顶首楞严经》
  • CAD_Electrical 2022使用记录
  • [Python学习日记-23] Python v2 和 v3 中的字符编码