Android - 具有不同背景颜色的TextView

use*_*040 3 android textview

是否可以使用具有不同背景颜色的TextView.例如.如果文本是"这是一个测试",是否可以为这四个单词设置不同的背景颜色?

Bra*_*ell 13

是.

SpannableString spannableString = new SpannableString(getString(R.string.hello_world));
Object greenSpan = new BackgroundColorSpan(Color.GREEN);
Object redSpan = new BackgroundColorSpan(Color.RED);
spannableString.setSpan(greenSpan, 0, 6, 0);
spannableString.setSpan(redSpan, 6, spannableString.length(), 0);

TextView textView = (TextView) findViewById(R.id.text);
textView.setText(spannableString);
Run Code Online (Sandbox Code Playgroud)

生产:

在此输入图像描述

编辑:有很多不同的spannable类型,你可以做比我的基本示例更好看的东西.看看这篇文章.