好的,假设我们有这样的文本
String s="123 45678 91011122314 1516";现在我的问题是我想这么说
textview.setText(stylemystring(s));我希望'123‘是红色的粗体,45678是斜体和蓝色,依此类推
我发现这是相当的问题,当样式这些东西,有与htmlformat的解决方案,但事情是,文本的大小,应该是红色或蓝色是动态的,所以我需要更灵活的东西。
谢谢
发布于 2011-07-03 19:40:56
像这样的东西应该是有效的:
SpannableStringBuilder text = new SpannableStringBuilder("123 45678 91011122314 1516");
text.setSpan(new ForegroundColorSpan(Color.RED), 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
text.setSpan(new ForegroundColorSpan(Color.BLUE), 4, 9, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
text.setSpan(new StyleSpan(Typeface.BOLD), 4, 9, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(text, TextView.BufferType.SPANNABLE);您可以将不同的样式添加到字符串的不同部分。基于http://developer.android.com/resources/faq/commontasks.html#selectingtext
发布于 2011-07-03 18:05:06
我认为你必须把它分成不同的字符串来实现。
看一看this link
我想它有你要找的东西。
https://stackoverflow.com/questions/6562217
复制相似问题