Независимо от того, что я делаю, мои переходы не будут работать так, как ожидалось. Я объясню проблемы, а затем разместлю код внизу.
В моем приложении 4 состояния.
goButton
присутствует только в "State1"
и "State2"
.
State1
и State2
почти одинаковы, но свойство y
goButton
различно в каждом. Итак, я сделал небольшой переход, который перемещает Баттон вперед и назад. Пока все хорошо.
Тем не менее, и "State1"
и "State2"
также могут быть переведены в "State3"
. Но в "State3"
нет goButton
, поэтому я использовал эффекты <s:Fade>
и <s:RemoveAction>
, чтобы избавиться от него.
Переход от "State1"
к "State3"
работает ок , но Переход от "State2"
к "State3"
не .
Когда я пытаюсь вызвать переход с "State2"
на "State3"
, goButton
быстро мигает / возвращается в положение, в котором он находился в "State1"
, и фактически происходит только переход на "State3"
.
это мой goButton
<s:Button id="goButton" includeIn="State1,State2" x="319" y="212" width="33" height="33"
click="goButton_clickHandler()"
icon="@Embed('file:///C:/Users/Felipe/Downloads/1317358341_magnifier_medium.png')"
toolTip="go"
x.State2="319" y.State2="275"/>
и это соответствующие переходы:
<s:Transition fromState="State1" toState="State3" >
<s:Sequence>
<s:Fade duration="700" targets="{[searchLabel,searchTextInput,inLabel,inDropDownList,goButton,addNewLessonButton]}" />
<s:RemoveAction targets="{[searchLabel,searchTextInput,inLabel,inDropDownList,goButton,addNewLessonButton]}" />
<s:AddAction targets="{[lessonsDataGrid,backButton]}" />
<s:Fade duration="700" targets="{[lessonsDataGrid,backButton]}" />
</s:Sequence>
</s:Transition>
<s:Transition fromState="State2" toState="State3" >
<s:Sequence>
<s:Fade duration="700" targets="{[searchLabel,searchTextInput,inLabel,inDropDownList,tagsLabel,tagsTextInput,goButton,addNewLessonButton]}" />
<s:RemoveAction targets="{[searchLabel,searchTextInput,inLabel,inDropDownList,tagsLabel,tagsTextInput,goButton,addNewLessonButton]}" />
<s:AddAction targets="{[lessonsDataGrid,backButton]}" />
<s:Fade duration="700" targets="{[lessonsDataGrid,backButton]}" />
</s:Sequence>
</s:Transition>
Я предполагаю, что Flex всегда (не спрашивайте меня, почему) перемещает компонент обратно в исходное положение перед выполнением перехода. Я пробовал другую версию этого приложения , в которой я установил свойства x
и y
моих goButton
на то, что они есть в "State2"
, а затем установил x.State1 = something else
и y.State1 = something else
и угадайте, что происходит? Я получаю точную обратную задачу! Переход с "State2"
на "State3"
в порядке, но переход с "State1"
на "State3"
не работает, так как goButton
мигает обратно в исходное положение (теперь это положение в "State2"
) и только тогда происходит Переход.
Чувак, это сводит меня с ума.
_ __ _ __ _ __ _ __ _ __ _ __ // _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __
__ _ __ _ __ _ __ _ __ _ __ _ // _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _
EDIT
Я добавил ссылку на приложение >>>> ЗДЕСЬ <<<<<< </strong> Вы можете увидеть проблему, выбрав опцию «выбранные теги», а затем нажав кнопку «Перейти». Вы увидите, о чем я говорю. Посмотреть источник доступен !!!