我的应用程序中有一个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" />
我怎么能这样做?
答案 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;
}
}
通过
重新访问TextViewTextView 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);