我有測驗應用程序。當有人點擊正確的答案,然後按鈕應該改變顏色爲綠色,之後,我想加載新的問題(我有它在ListArray中)。這很重要:應用程序應該等待動畫結束(此時所有按鈕都被禁用),然後加載下一個問題。點擊測驗應用程序後的按鈕動畫(Android)
有人能給我一個提示如何做到這一點?
我有測驗應用程序。當有人點擊正確的答案,然後按鈕應該改變顏色爲綠色,之後,我想加載新的問題(我有它在ListArray中)。這很重要:應用程序應該等待動畫結束(此時所有按鈕都被禁用),然後加載下一個問題。點擊測驗應用程序後的按鈕動畫(Android)
有人能給我一個提示如何做到這一點?
動畫完成後,您可以使用處理程序進行發佈。如果你的動畫是3秒鐘,你會這樣做。
Handler mHandler = new Handler();
Runnable codeToRun = new Runnable() {
@Override
public void run() {
loadNewQuestion();
};
mHandler.postDelayed(codeToRun, 3000); //Runs the runnable on the UI thread after 3 sec
或者你可以設置一個動畫監聽器(處理程序越好)
Animation myAnim = AnimationUtils.loadAnimation(context, R.anim.my_anim);
Runnable codeToRun = new Runnable() {
@Override
public void run() {
loadNewQuestion();
}
};
AnimationListener myAnimationListener = new AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
runOnUiThread(codeToRun);
}
};
myAnim.setAnimationListener(myAnimationListener);
button.startAnimation(myAnim);
這是麻煩比它的聲音。您需要完成在主線程(GUI)之外的線程上操作問題的工作。嘗試查看本教程以瞭解Handler。
http://www.vogella.com/articles/AndroidPerformance/article.html#handler