Récemment, je donne un autre coup à Dashcode;)Plus de contrôle lors des animations dans Dashcode/Dashboard?
C'est génial. Est-ce que je pense que ce n'est pas bien documenté. J'ai un objet stackLayout avec seulement deux vues, et quelques boutons qui échangent les vues avec une transition (les vues montrent les données d'un grand tableau, list
) Les animations et les transitions fonctionnent parfaitement. Le problème est, quand j'appuie sur un bouton pendant l'animation, l'animation recommence et qu'elle est moche (Si j'avais n vues pour un tableau de sources de longueur n cela ne devrait pas poser de problème, mais ce n'est pas mon cas).
Je souhaite désactiver les boutons pendant l'animation.
Y a-t-il un rappel, un délégué ou un moyen de recevoir une notification lorsque l'animation est terminée?
C'est ce que je l'ai fait:
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);
}