[英]In Android, how do I change the color of a button, pause for a few seconds, then change it again?
這是我的代碼:
public class TestActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
start();
}
private void start() {
setContentView(R.layout.main);
LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout);
Button button = new Button(this);
layout.addView(button);
button.getBackground().setColorFilter(new LightingColorFilter(0x00000000, 0x0000FF00)); // green
button.invalidate();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
button.getBackground().setColorFilter(new LightingColorFilter(0x00000000, 0x000000FF)); // blue
button.invalidate();
}
}
這只是在3秒后顯示一個藍色按鈕; 它從未表現為綠色。
我認為,如果我的大腦正常工作,我可以從其中一個帖子中找出答案:
你不應該睡在UI線程上,因為這會掛起你的界面。 相反,在最初將顏色設置為綠色之后,您可以創建一個Handler(在UI線程上,因此它將使用該線程來處理消息),然后使用Handler.postDelayed發送將在3秒內處理的消息。 在Runnable
您傳遞給postDelayed
您可以將顏色設置為藍色。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.