2014-10-01 114 views
0

我在android系统显示的文字是这样的:如何更改textView中单个字母的颜色?

TextView textview p new TextView(this); 
textview.setMovementMethod(new ScrollingMethod()); 
textview.setText("Today: 2\nTomorrow: 8\nNext two weeks: 45"); 
textview.setTextSize(16); 
textview.setTypeFace(null, TypeFace.BOLD); 
setContentView(textview); 

我想从文本绿色2,8和45使同时使其余的黑色。我知道如何去做所有的文字,但不是个别的角色。有人可以帮忙吗?我查看了其他类似的问题,但似乎没有人按照我在这里设置textview。

+0

退房这一个: http://stackoverflow.com/questions/10392163/using-multiple-text-colors-in-androids-textview-html-fromhtml – Synx 2014-10-01 15:26:01

+0

我如何使用这个如果不使用html来获取文本,但只有它评论? – mark16 2014-10-01 15:28:51

回答

2

你可以试试这个:

TextView textview p new TextView(this); 
textview.setMovementMethod(new ScrollingMethod()); 
    textview.setText(Html.fromHtml("Today: <font color=green>2</font>\nTomorrow: <font color=green>8</font>\nNext two weeks: <font color=green>45</font>"); 
textview.setTextSize(16); 
textview.setTypeFace(null, TypeFace.BOLD); 
setContentView(textview); 

这将设置绿颜色,以2 ,8.45。 simillarly你可以使用任何HTML标签为textview文本。 希望这会帮助你。

+0

嗯没有工作,我应该做的只是改变我的代码以外的东西吗? – mark16 2014-10-01 15:57:58

+0

查看更新后的答案。 – Programmer 2014-10-01 16:16:40

8

使用SpannableString并将ForegroundColorSpan s添加到文本中。你必须找到你想得那么跨越本地字符/串的指标,你可以调用addSpan

SpannableString spannedText = new SpannableString(originalText); 
int start = ..., end = ...; 
spannedText.addSpan(new ForegroundColorSpan(Color.GREEN), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 
相关问题