这是我的代码:
tv.setTextColor(getResourves().getColor(R.color.white));
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (the color is bgreen){
tv.setTextColor(getResources().getColor(R.color.white));
}else if (the color is white){
tv.setTextColor(getResources().getColor(R.color.bgreen));
}
}
});
其中,
<color name="bgreen">#ccff00</color>
<color name="white">#FFFFFF</color>
所以问题是我没有得到 - if()和if if()语句的代码。 有默认颜色的解决方案但在颜色字符串的情况下该怎么办。我想用相同的按钮在两种颜色之间切换。 提前谢谢。
答案 0 :(得分:0)
尝试这样
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(tv.getCurrentTextColor()== ContextCompat.getColor(context,R.color.white))
tv.setTextColor(ContextCompat.getColor(context, R.color.bgreen));
else if(tv.getCurrentTextColor()== ContextCompat.getColor(context,R.color.bgreen))
tv.setTextColor(ContextCompat.getColor(context, R.color.white));
}
});
答案 1 :(得分:0)
tv.setTextColor(getResourves().getColor(R.color.white));
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ColorDrawable buttonColor = (ColorDrawable) tv.getBackground();
int colorId = buttonColor.getColor();
if (colorID == R.color.green){
tv.setTextColor(getResources().getColor(R.color.white));
}
else if(colorID == R.color.white){
tv.setTextColor(getResources().getColor(R.color.bgreen));
}
}
});
答案 2 :(得分:0)
//Default color : White
boolean isWhite= true;
tv.setTextColor(getResourves().getColor(R.color.white));
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (isWhite){
isWhite= false;
tv.setTextColor(getResources().getColor(R.color.bgreen));
else{
isWhite= true;
tv.setTextColor(getResources().getColor(R.color.white));
}
答案 3 :(得分:0)
尝试这样的事情
tv.setTextColor(ContextCompat.getColor(context, R.color.white));
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ColorDrawable buttonColor = (ColorDrawable) btn.getBackground();
int colorId = buttonColor.getColor();
if (colorId == ContextCompat.getColor(context, R.color.bgreen)) {
tv.setTextColor(ContextCompat.getColor(context, R.color.white));
} else if (colorId == ContextCompat.getColor(context, R.color.white)) {
tv.setTextColor(ContextCompat.getColor(context, R.color.bgreen));
}
}
});
答案 4 :(得分:0)
tv.setTextColor(getResourves().getColor(R.color.white));
int whiteTextColour=tv.getCurrentTextColor();
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (tv.getCurrentTextColour()!=whiteTextColour){
tv.setTextColor(getResources().getColor(R.color.white));
}
else{
tv.setTextColor(getResources().getColor(R.color.bgreen));
}
}
});