Больше управления при выполнении анимации в Dashcode/Dashboard?
-
30-09-2019 - |
Вопрос
Недавно я делаю еще один выстрел в Dashcode;)
Это великолепно. Я думаю, что я думаю, что не очень задокументировано. У меня есть объект 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);
}
Решение
document.getElementById('stackLayout').object.endTransitionCallback=function(stackLayout, oldView, newView) {
//PUT CODE HERE USING stackLayout, oldView, newView to show params
}
> ?? ????? ???? ?? ?????? ????? ??? ?????? stackLayout ? ???????? ? ????? StackLayout.js ? ????? ??????? !!
> ???????, ??? ??? ????????