根据值更改文本颜色

时间:2013-09-23 11:30:00

标签: android android-layout

我的应用程序中有一个TextView。基于我从服务器获得的值,我想设置TextView的文本颜色。

这是我的textview

 <TextView
            android:id="@+id/approval_status"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="5dp"
            android:text="W" />
  • 如果P我必须设置橙色
  • 如果我必须设置绿色
  • 如果R我必须设置红色

我怎么能这样做?

7 个答案:

答案 0 :(得分:2)

解析回复

public enum Status { PENDING, APPROVED, REJECTED }

public static Status statusFromResponse(String response) {
    if (response == "P") {
        return PENDING;
    } else if (response == "A") {
        return APPROVED;
    } else {
        return REJECTED;
    }
}

通过

重新访问TextView
TextView tv = (TextView)findViewById(R.id.approval_status);

然后选择颜色

switch (valueFromServer) {
     case PENDING:
         tv.setTextColor(0xff9900); //CHOOSE YOUR ORANGE
         break;
     case APPROVED:
         tv.setTextColor(Color.GREEN);
         break;
     case REJECTED:
         tv.setTextColor(Color.RED);
         break;
}

答案 1 :(得分:1)

if(P)
{
textview.setTextColor(0xffCC00);// hex code of orange as 'Color' dont have orange color in list
}
else if(A)
{
textview.setTextColor(Color.GREEN);
}
else if(R)
{
textview.setTextColor(Color.RED);
}

答案 2 :(得分:1)

当您从服务器获取价值时,首先根据您的要求在TextView中设置该值..

Textview t = (Textview)findViewById(R.id.approval_status);
t.setText(value);


if(value.equalsIgnoreCase("P")
 t.setTextColor(Color.parseColor("#FFA500"));
else if(value.equalsIgnoreCase("A")
 t.setTextColor(Color.GREEN);
else if(value.equalsIgnoreCase("R")
 t.setTextColor(Color.RED);
else

答案 3 :(得分:1)

Textview approval_status = (Textview)findViewById(R.id.approval_status)

if(serverValue.equals("P")
    approval_status.setTextColor(0xFF6600); // Orange 
else if(serverValue.equals("A")
    approval_status.setTextColor(Color.GREEN);
else if(serverValue.equals("R")
    approval_status.setTextColor(Color.RED);

答案 4 :(得分:0)

在从服务器获得答案的代码片段中试试这个:

if(insertConditionForOrangeHere)
    myTextView.setTextColor(Color.ORANGE);
else if(insertConditionForGreenHere)
    myTextView.setTextColor(Color.GREEN);
else if(insertConditionForRedHere)
    myTextView.setTextColor(Color.RED);

答案 5 :(得分:0)

Textview tv = (Textview)findViewById(R.id.approval_status)

if(serverValue.equals("P")
    tv.setTextColor(0xFF6600); // Orange 
else if(serverValue.equals("A")
    tv.setTextColor(Color.GREEN);
else if(serverValue.equals("R")
    tv.setTextColor(Color.RED);
else
    // Handle it

答案 6 :(得分:0)

Textview status = (Textview)findViewById(R.id.status)

if(value.equals("P")
    approval_status.setTextColor(Color.parseColor("#ffae00")); // Orange Color Code
else if(value.equals("A")
    approval_status.setTextColor(Color.GREEN);
else if(value.equals("R")
    approval_status.setTextColor(Color.RED);