Android:如何使用字符串设置文本的颜色

时间:2013-02-15 15:21:33

标签: android

我的意图带来两个字符串。 1是消息的字符串,另一个是颜色的字符串。

下面的代码显示收到了2个字符串。 “message”字符串显示在textview中,可以正常工作。但是我需要字符串“messagecolor”来设置textview的颜色。

我有一个colors.xml文件,其中定义了蓝色,绿色和红色。

因此,如果字符串“messagecolor”为蓝色,则文本将为蓝色。红色和绿色相同。如果字符串“messagecolor不是蓝色,红色或绿色,则文本将显示为黑色。

如果有人可以帮我解决这个问题,那将非常感激。

谢谢

// Get the message from the intent
    Bundle bundle = getIntent().getExtras();
    String messagecolor = bundle.getString(MainActivity.EXTRA_MESSAGE_COLOR);
    String message = bundle.getString(MainActivity.EXTRA_MESSAGE);


    // Create the text view
    TextView textView = new TextView(this);
    textView.setTextColor(getResources().getColor(R.color.blue));
    textView.setTextSize(100);
    textView.setText(message);

3 个答案:

答案 0 :(得分:3)

不是试图匹配哪个颜色由哪个字符串表示,为什么不传递资源ID呢?

答案 1 :(得分:0)

尝试

if (message.equals("messageBlue")) {
    textView.setTextColor(getResources().getColor(R.color.blue));
} else if (message.equals("messageGreen")) {
    textView.setTextColor(getResources().getColor(R.color.green));
} else if (message.equals("messageRed")) {
    textView.setTextColor(getResources().getColor(R.color.red));
} else //default
    textView.setTextColor(getResources().getColor(R.color.black));

答案 2 :(得分:0)

text.setText(Html.fromHtml("<font color='red'>R</font>"));