跨越文本的URLSpan未显示在绘制的StaticLayout中

Nic*_*ion 2 android

我正在构建一个模仿TextView但通过管理多个内部StaticLayouts支持文本换行的自定义视图.

一切都很顺利,但我在浏览一些HTML时遇到了麻烦.大多数HTML标记都被翻译为Spans via Html.fromHtml.这包括a-link元素,当我单步使用调试器时,我可以看到它们正在成为URLSpan对象.

            mSpannedArticleText = Html.fromHtml(mInboundArticleText);
Run Code Online (Sandbox Code Playgroud)

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

updatedLeftColumnLayout = new StaticLayout(mSpannedArticleText, mBodyTextPaint, leftColumnWidth, Layout.Alignment.ALIGN_NORMAL, (float) 1.0, (float) 0.0, true);
Run Code Online (Sandbox Code Playgroud)

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

Nic*_*ion 6

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