假设我有下一个文本:
Hello stackOverflow
我希望将第二个单词设置为RelativeSizeSpan(设置相对字体大小)和TextAppearanceSpan(设置文本颜色),如何合并它们?
我所知道的是,我可以选择其中一个,例如使用下面的代码:
final SpannableString textToShow = new SpannableString("Hello stackOverflow");
textToShow.setSpan(new RelativeSizeSpan(1.5f), textToShow.length() - "stackOverflow".length(),textToShow.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(textToShow);
但我还需要设置颜色,甚至添加其他跨越类的其他功能...
我能做什么?
5条答案
按热度按时间laik7k3q1#
只需设置附加跨距。它们将在必要时重叠/合并。这段代码适合我:
fv2wmkja2#
我知道这是对一个已经有答案的问题的新回答,但我想分享一个我做的实用程序类,它使这项任务更容易。
Java版本
用法:
Kotlin版本
用法
t5fffqht3#
最简单的方法?
textView.setText("I love coding");
setHighLightedText(textView,"coding");
使用下面的方法-
yhived7q4#
Kotlin可以通过
SpannableStringBuilder
上的扩展来帮助做到这一点:用法示例:
q3qa4bjr5#
我在Java中写了一个示例函数来同时追加多个span:
使用这个方法很简单: