0
最近我又給了Dashcode;)在Dashcode/Dashboard中進行動畫製作時有更多控制權?
這很好。只是我認爲沒有很好的記錄。 我有一個只有兩個視圖的stackLayout對象,以及一些按鈕,它們將視圖與一個轉換交換(視圖顯示大數組的數據,list
) 動畫和轉換工作完美。問題是,當我按動一個按鈕的同時動畫動畫再次開始,它看起來很醜陋(如果我有一個長度爲n的數據源數組的n個視圖,這應該不是問題,但這不是我的情況)。
我想在動畫發生時禁用按鈕。
當動畫完成時,是否有任何回調,委託或任何可以獲得通知的方式?
這是我做了什麼:
function _changeView(transitionDirection, newIndex){
//Create transition
var newTransition = new Transition(Transition.SWAP_TYPE, 0.9, Transition.EASE_TIMING);
newTransition.direction = transitionDirection;
//I only have two views. I use currentView's id to calculate not current view id and change text inside of it.
var stackLayout = document.getElementById('stackLayout').object;//stackLayout object
var nextViewId = (stackLayout.getCurrentView().id == 'view1')? '2':'1'; //
//change the text in the view that is going to appear
document.getElementById('text'+nextViewId).innerHTML = list[curIndex];
stackLayout.setCurrentViewWithTransition('view'+ nextViewId, newTransition, false);
}
function goPrevious(event)
{
curIndex--;
if(curIndex < 0){
curIndex = list.length-1;
}
_changeView(Transition.LEFT_TO_RIGHT_DIRECTION, curIndex);
}
function goNext(event)
{
curIndex++;
if(curIndex >list.length - 1){
curIndex = 0;
}
_changeView(Transition.RIGHT_TO_LEFT_DIRECTION, curIndex);
}