我想将按钮的文字颜色更改为绿色2秒,然后将其恢复为原始颜色。我怎样才能做到这一点? 我的方法是:
private void changeColors() {
Button option1Button = (Button) findViewById(R.id.option1Button);
Button option2Button = (Button) findViewById(R.id.option2Button);
Button option3Button = (Button) findViewById(R.id.option3Button);
Button option4Button = (Button) findViewById(R.id.option4Button);
Button[] buttons = {option1Button, option2Button, option3Button, option4Button};
buttons[correctAnswerButtonID].setTextColor(Color.GREEN);
SystemClock.sleep(2000);
//later changing it back to original
}
这不起作用,睡眠方法后文本变为绿色。我希望它变为绿色,然后开始睡眠过程。 谢谢你的回答!
答案 0 :(得分:1)
你可以使用动画
buttons[correctAnswerButtonID].setTextColor(Color.GREEN);
buttons[correctAnswerButtonID].animate().setDuration(2000).withEndAction(new Runnable() {
@Override
public void run() {
// set color back to normal
buttons[correctAnswerButtonID].setTextColor(Color.BLACK);
}
}).start();