我想用特定文字更改textview的颜色,例如
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
tools:text="Live"
android:id="@+id/soccer_statuslive"
android:paddingRight="16dp"
android:layout_gravity="right"
android:textColor="#2ccc14"
android:paddingBottom="16dp"/>
所以我想在文字说&#34;最后&#34;时将颜色改为红色。当它说&#34; Live&#34;
时改变绿色tools:text="Live"
android:textColor="#2ccc14"
答案 0 :(得分:0)
试试这段代码:
if(yourtextView.getText().toString().equals("Final"))
yourtextView.setTextColor(Color.RED);
else if(yourtextView.getText().toString().toString.equals("Live"))
yourtextView.setTextColor(Color.GREEN);
答案 1 :(得分:0)
您可以以编程方式执行此操作:
if(soccer_statuslive.getText().toString.equals("Final"))
soccer_statuslive.setTextColor(Color.RED);
else if(soccer_statuslive.getText().toString.equals("Live"))
soccer_statuslive.setTextColor(Color.GREEN);
答案 2 :(得分:0)
检查您的活动中的动态代码添加
if(sl.equalsIgnoreCase("Live")){
solve.setTextColor
(getApplicationContext.getResources().
getColor(R.color.green));
}
else if(sl.equalsIgnoreCase("Final")){
solve.setTextColor
(getApplicationContext.getResources().getColor(R.color.red));
}
答案 3 :(得分:0)
if (tv.getText().toString().equalsIgnoreCase("Final")) {
tv.setTextColor(getResources().getColor(R.color.red));
} else {
if (tv.getText().toString().equalsIgnoreCase("Live")) {
tv.setTextColor(getResources().getColor(R.color.green));
}
}
答案 4 :(得分:0)
您可以使用此代码获取代码中的按钮。
Button b = ( Button) findViewById(R.id.*youbuttonname*);
然后您可以检查按钮文本是“最终”还是“实时”,如
if( b.Text.equals("Live")
b.setColor(R.color.red)
确保在Color xml文件中添加了红色。
答案 5 :(得分:0)
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.soccer_statuslive);
tv.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String text = tv.getText().toString();
if (text.equals("Final"))
tv.setTextColor(Color.RED);
else
tv.setTextColor(Color.GREEN);
}
});
}
答案 6 :(得分:0)
您是否可以使用TextChangeListener以编程方式执行此操作?像
这样的东西关于您的活动
TextView soccerStatus = findViewById(R.id.soccer_statuslive);
soccerStatus.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if ("Final".equalsIgnoreCase(editable.toString())) {
soccerStatus.setTextColor(Color.RED);
} else if ("Live".equalsIgnoreCase(editable.toString())) {
soccerStatus.setTextColor(Color.GREEN);
}
}
});