Unity 富文本 link 标签使用办法

var string = <link=url><u><#0076FF>open url</u></color></link>

text里面设置这个字符串

 

        public void OnPointerClick(PointerEventData eventData)
        {
            int linkIndex =
                TMP_TextUtilities.FindIntersectingLink(_desText, Input.mousePosition, eventData.pressEventCamera);
            if (_desText.textInfo.linkInfo.Length == 0)
                return;

            TMP_LinkInfo linkInfo = _desText.textInfo.linkInfo[linkIndex];
            RectTransformUtility.ScreenPointToLocalPointInRectangle(_desText.rectTransform, eventData.position,
                eventData.pressEventCamera, out var worldPointInRectangle);

            //做一些测试,如果里面没有包含一些关键字符,则不会触发
            var str = linkInfo.GetLinkID();
            if (!str.Contains("https"))
                return;

            Application.OpenURL(str);
        }

然后给改text添加一个点击事件,然后在点击的时候获取到 LinkId ,然后自己对获取到的 LinkId 做处理

posted @ 2024-07-24 14:02  减肥的程序  阅读(368)  评论(0)    收藏  举报