gpt4 book ai didi

android - 跨文本上的 URLSpan 未在绘制的 StaticLayout 中显示

转载 作者:太空狗 更新时间:2023-10-29 16:23:31 27 4
gpt4 key购买 nike

我正在构建一个模仿 TextView 的自定义 View ,但它通过管理多个内部 StaticLayout 来支持文本换行。

一切正常,但我在查看某些 HTML 时遇到问题。大多数 HTML 标记通过 Html.fromHtml 转换为 Spans。这包括 a-link 元素,当我逐步使用调试器时,我可以看到它们正在变成 URLSpan 对象。

            mSpannedArticleText = Html.fromHtml(mInboundArticleText);

在上面,mInboundArticleText 是传递给 setText 的入站字符串,mSpannedArticleText 是将传递给 StaticLayout 的 Spanned 对象。 StaticLayout 中的所有内容都呈现得很好,除了我看不到 URLSpans。我知道它们附加到 mSpannedArticleText 并且我使用以下方法创建了一个新的 StaticLayout:

updatedLeftColumnLayout = new StaticLayout(mSpannedArticleText, mBodyTextPaint, leftColumnWidth, Layout.Alignment.ALIGN_NORMAL, (float) 1.0, (float) 0.0, true);

我不确定是什么导致了这个问题,但是在查看了 TextView 的源代码之后,我似乎无法找到对 URLSpans 的任何特殊处理,也没有在 StaticLayout 中看到任何异常情况。我希望有人能阐明我在构建跨文本或使用 URLSpans 的其他要求时可能做错了什么,我可能没有设置。

最佳答案

我想通了这个问题。 TextPaint 显然将默认的 linkColor 设置为透明,所以我的链接在那里,但只是透明的。

关于android - 跨文本上的 URLSpan 未在绘制的 StaticLayout 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8337775/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com