我正在尝试从 textview 的某个位置突出显示 Textview 的特定颜色。例如,在 textview 字符串中,我想突出显示从 0 到 15 位置的白色和从第 16 到字符串结尾的红色。这可能吗?谁能给我一个例子?
问问题
221 次
6 回答
2
通过使用Spannable Text
你可以做到
Spannable WordtoSpan = new SpannableString("I know just how to whisper");
WordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 15, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(WordtoSpan);
于 2012-08-08T07:24:16.360 回答
0
TextView
有一个属性textColor
。一旦设置,它将为整个着色TextView.
我认为 Android 中没有内置的东西来实现你需要的东西,但一个想法是将你的 longTextView
从你需要的位置截断成几个小TextViews
的,并用自己的颜色绘制每个。
于 2012-08-08T07:18:21.637 回答
0
Get count of your string
int length = YourString.length();
then check with if condtion and set like this.
TextView tt;
int color = Integer.parseInt("bdbdbd", 16)+0xFF000000);
tt.setTextColor(color);
于 2012-08-08T07:23:30.387 回答
0
也许您可以使用 WebView 并将 HTML 代码放入其中...
String html = "<div><span style="background-color:red">SOME TEXT</span><span style="background-color:blue">SOME TEXT</span></div>"
wv.loadData(html, "text/html", Encoding.UTF_8.toString());
于 2012-08-08T07:24:08.610 回答
0
我认为没有直接的方法可以在文本视图中设置不同的颜色。
您可以尝试将 html 格式的文本设置为您的文本视图以实现您的目标。例如;
yourTextView.setText(Html.fromHtml(yourText));
在上面的代码中,yourText是 html 格式的字符串,您可以根据应用程序逻辑创建 html 文本。
于 2012-08-08T07:24:45.440 回答
0
你可以试试这个ForegroundColorSpan例如TextView
-
TextView tView = (TextView)findViewById(R.id.text);
tView.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE);
Spannable WordtoSpan = (Spannable) tView.getText();
WordtoSpan.setSpan(new ForegroundColorSpan(0xFFFFFF00), 0, 15, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tView.setText(WordtoSpan);
于 2012-08-08T07:26:18.877 回答