我有一个 TextView 用作蓝牙连接控制台。当我发送命令时,我希望它以一种颜色(例如青色)书写,而收到的答案以不同的颜色(例如红色)书写。
是否可以这样做,如果可以,怎么做?
我读到过使用 HTML 可能是可行的,但我不太确定这是最好的方法,甚至不确定如何去做。
最佳答案
这里有一个基于 C0deAttack 答案的小辅助函数,可以简化事情
public static void appendColoredText(TextView tv, String text, int color) {
int start = tv.getText().length();
tv.append(text);
int end = tv.getText().length();
Spannable spannableText = (Spannable) tv.getText();
spannableText.setSpan(new ForegroundColorSpan(color), start, end, 0);
}
只需替换所有调用
textView.append("Text")
与
appendColoredText(textView, "Text", Color.RED);
关于android - 我可以为附加到 TextView 的每个文本行选择一种颜色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8105545/