是否可以在TextView中设置文本范围的颜色?
我想做一些类似于Twitter应用程序的东西,其中一部分文本是蓝色的.见下图:

我正在寻找一种方法来改变在一个字的文本的颜色TextView从内Activity.
例如,有了这个:
String first = "This word is ";
String next = "red"
TextView t = (TextView) findViewById(R.id.textbox);
t.setText(first + next);
Run Code Online (Sandbox Code Playgroud)
如何将next文本颜色更改为红色?
我希望通过.setText("")方法更改TextView视图的文本,同时着色文本的一部分(或使其为粗体,斜体,透明等),而不是其余部分.例如:
title.setText("Your big island <b>ADVENTURE!</b>";
Run Code Online (Sandbox Code Playgroud)
我知道上面的代码是不正确的,但它有助于说明我想要实现的目标.我该怎么做?
我想改变某些单词的颜色(搜索结果)TextView?我尝试使用这样的ANSI颜色:
text.setText("\u001B31;1m" + "someText");
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我该如何实现这一目标?
我的应用程序上有简单的textView控制器.
在这个textView我设置文本"123456789" - 文本颜色是黑色.
我希望最后三位数(789)将以红色文字显示.
有没有简单的方法可以不使用两个textView控件
(一个将包含黑色的"123456",第二个将包含红色的"789")
有很多方法可以为TextView中显示的部分文本设置样式,例如设置其前景色(此处)和其他(此处).
我无法确定是否有办法在TextView 的部分文本上设置矩形虚线/虚线轮廓.像这样的东西:
我试图寻找这样的解决方案,并且我也尝试阅读CharacterStyle的文档.尽管如此,我认为任何可用的跨度都不适合这种风格.
是否有内置的解决方案,或者我是否需要使用自定义的实现?
我使用了下面建议的修改版本,它在POC上运行良好,但出于某种原因,在实际项目中,文本两侧的垂直虚线是粗体:
这是当前的代码:
要使用的字符串
<string name="text_to_format">test   %1$s test</string>
Run Code Online (Sandbox Code Playgroud)
使用代码
final String textToDash="DASHED";
String formattedStr = getString(R.string.text_to_format, textToDash+ "<bc/>");
Spanned textToShow = Html.fromHtml(formattedStr, null, new TagHandler() {
int start;
@Override
public void handleTag(final boolean opening, final String tag, Editable output, final XMLReader xmlReader) {
switch (tag) {
case "bc":
if (!opening)
start = output.length() - textToDash.length();
break;
case "html":
if (!opening)
output.setSpan(
new …Run Code Online (Sandbox Code Playgroud)