我想将按钮背景从红色更改为橙色,最后更改为绿色。
到目前为止,我可以更改为橙色。
但是背景不能变为绿色。
这里的代码
Button change = (Button) findViewById(R.id.btn_change);
change.setBackgroundResource(R.drawable.button_red);
...
change.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
v.setBackgroundResource(R.drawable.button_orange);
try {
Thread.sleep(5000, 0);
} catch (InterruptedException e) {
e.printStackTrace();
}
v.setBackgroundResource(R.drawable.button_green);
}
});
最佳答案
在Android中使用Thread.sleep()
是非常不好的做法,尤其是在Main UI Thread上。请改用计时器或发布可运行对象(请参见下文)。
change.setOnClickListener(new Button.OnClickListener() {
public void onClick(final View v) {
v.setBackgroundResource(R.drawable.button_orange);
Handler handle = new Handler(); // Probably shouldn't create one each time, but here is the idea
handle.postDelayed(new Runnable() {
@Override
public void run() {
v.setBackgroundResource(R.drawable.button_green);
}
}, 5000);
}
});
关于java - 如何两次更改android按钮背景?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30221882/