0
我創建了一個彩色背景動畫,它在按鈕單擊時開始(它平滑地更改背景顏色)。 我的問題是,我無法停止動畫(如果我再次點擊按鈕,它會提高動畫速度)。我已經嘗試創建一個while循環,但動畫不再工作。我的目標是,如果我按下圖像Btn,動畫就會開始,如果再次按下它,它應該停止。如何停止此動畫?
代碼:
imageButton_info.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
// Handler and runnable to run the animation in devices sdk below honeycomb.
final Handler handler = new Handler();
Runnable ChangeBackgroundRunnable = new Runnable() {
@Override
public void run() {
number++;
float[] hsvColor = {0, 1, 1};
hsvColor[0] = 360f * number/100;
color.setBackgroundColor(Color.HSVToColor(hsvColor));
handler.postDelayed(this, 80);
if (number >=100)
number = 1;
}
};
number = 0;
handler.removeCallbacks(ChangeBackgroundRunnable);
handler.postDelayed(ChangeBackgroundRunnable, 0);
}
});
使用ValueAnimator代替 – 2017-02-16 00:41:29
但創建程序工作近乎完美,應該有辦法阻止它? – Nick88
檢查此舊的計算器[答案](http://stackoverflow.com/a/9458785/5156016)。 – 2017-02-16 00:58:14