如何设置文本连接的颜色

时间:2017-11-10 11:06:02

标签: android android-layout textview

我有一个TextView,我必须在其中设置文本。但是我在其中添加(连接)一些文本并且我只希望连接的文本获得一些颜色而不是整个文本storyLine=storyLine.substring(0,190)+" ...Click To Expand";。这里storyLine是一个在textview中设置的最终文本。我只想改变"点击展开"。

的颜色

4 个答案:

答案 0 :(得分:0)

String cntStr = " ...Click To Expand";
String storyLine = storyLine.substring(0,190);
String textLine = storyLine + cntStr;

Spannable spannable = new SpannableString(textLine);

spannable.setSpan(new ForegroundColorSpan(Color.RED), storyLine.length(), textLine.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

myTextView.setText(spannable, TextView.BufferType.SPANNABLE);

快乐编码!!!!

答案 1 :(得分:-1)

你可以尝试

String styledText = storyLine + "<font color='blue'>Click To Expand</font>";
textView.setText(Html.fromHtml(styledText), TextView.BufferType.SPANNABLE);

答案 2 :(得分:-1)

你可以通过这个来实现:

SpannableStringBuilder builder = new SpannableStringBuilder();
String red = "Click To Expand";
builder.append("storyLine=storyLine.substring(0,190)+" ...");
SpannableString redSpannable= new SpannableString(red);
redSpannable.setSpan(new ForegroundColorSpan(Color.RED), 0, red.length(), 0);
builder.append(redSpannable);
mTextView.setText(builder, BufferType.SPANNABLE);

快乐的编码!!

答案 3 :(得分:-1)

您可以使用SpannableString为子字符串着色。

SpannableString span1=new SpannableString("Hello World...Click to Expand");
span1.setSpan(new ForegroundColorSpan(Color.BLUE), 15, 29, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Textview.setText(span1,TextView.BufferType.SPANNABLE);

你也可以连接

Textview.setText(TextUtils.concat(AnyString, span1));

如果需要,在Layout xml中设置Texview类型spannable。