我有顏色安卓:改變按鈕的背景編程
<resources>
<color name="CLR_BLUE">#00f</color>
<color name="CLR_RED">#f00</color>
<color name="CLR_GREEN">#0f0</color>
<color name="CLR_YELLOW">#ff0</color>
<color name="CLR_BLUE_DARK">#00a</color>
<color name="CLR_RED_DARK">#a00</color>
<color name="CLR_GREEN_DARK">#0a0</color>
<color name="CLR_YELLOW_DARK">#aa0</color>
</resources>
這個資源文件,而這個方法被調用,當用戶點擊的四位一體的彩色Buttons
private void changeBackground(Button pressedBtn)
{
int oldColor = 0;
int newColor = 0;
if(pressedBtn == greenBtn) {
oldColor = R.color.CLR_GREEN;
newColor = R.color.CLR_GREEN_DARK;
}
else if (pressedBtn == redBtn) {
oldColor = R.color.CLR_RED;
newColor = R.color.CLR_RED_DARK;
}
else if (pressedBtn == yellowBtn) {
oldColor = R.color.CLR_YELLOW;
newColor = R.color.CLR_YELLOW_DARK;
}
else if (pressedBtn == blueBtn) {
oldColor = R.color.CLR_BLUE;
newColor = R.color.CLR_BLUE_DARK;
}
else return;
pressedBtn.setBackgroundResource(newColor);
SystemClock.sleep(500);
pressedBtn.setBackgroundResource(oldColor);
}
的問題是按下時按鈕的顏色不會改變。 我用調試器走了一步,它實際上達到了方法中的正確點,所以這不是問題。我認爲問題出在pressedBtn.setBackgroundResource(newColor)
,但我不明白爲什麼。
PS:無論如何,如果你有更好的解決方案來改變按鈕的顏色,並在半秒鐘後,改回原來的顏色,讓我知道。
此刻我有點忙碌。只要我嘗試一下,我會讓你知道的。現在謝謝。 – 2010-06-23 11:28:37
我不得不適應它,但完美的作品!非常感謝 – 2010-06-28 22:45:59