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