Пакет | mx.states |
Класс | public class Transition |
Наследование | Transition Object |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Для определения перехода установите в качестве значения свойства transitions
для Application массив объектов Transition.
Для указания изменений состояния, инициирующих переход, используются свойства toState
и fromState
класса Transition. По умолчанию оба свойства (fromState
и toState
) имеют значение *, что означает применение перехода к любым изменениям состояния представления.
С помощью свойства fromState
можно явно указать состояние представления, из которого осуществляется изменение, а с помощью свойства toState
можно явно указать состояние представления, являющееся целью изменения. Если изменение состояния соответствует двум переходам, свойство toState
имеет приоритет над свойством fromState
. Если изменение состояния соответствует нескольким переходам, Flex использует первое определение в массиве переходов.
Для указания объекта Effect, подлежащего воспроизведению при применении перехода, используется свойство effect
. Как правило, это составной объект эффектов, например Parallel или Sequence, содержащий несколько эффектов, как показано в следующем примере:
<mx:Transition id="myTransition" fromState="*" toState="*"> <mx:Parallel> ... </mx:Parallel> </mx:Transition>Синтаксис MXMLСкрыть синтаксис MXML
The <mx:Transition>
tag
defines the following attributes:
<mx:Transition Properties id="ID" effect="" fromState="*" toState="*" autoReverse="false" />
Свойство MXML по умолчаниюeffect
Связанные элементы API
mx.effects.RemoveChildAction
mx.effects.SetPropertyAction
mx.effects.SetStyleAction
Свойство | Определено | ||
---|---|---|---|
autoReverse : Boolean = false
Значение true указывает, что этот переход применяется к изменениям состояний представления в прямом и обратном направлении. | Transition | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
effect : IEffect
Объект IEffect, воспроизводящийся в случае применения перехода. | Transition | ||
fromState : String = "*"
Строка, указывающая состояние представления, из которого начинается изменение в случае применения перехода. | Transition | ||
interruptionBehavior : String = "end"
Flex не поддерживает одновременное воспроизведение нескольких переходов. | Transition | ||
toState : String = "*"
Строка, определяющая состояние представления, к которому осуществляется переход. | Transition |
Метод | Определено | ||
---|---|---|---|
Конструктор. | Transition | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object |
autoReverse | свойство |
public var autoReverse:Boolean = false
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Значение true
указывает, что этот переход применяется к изменениям состояний представления в прямом и обратном направлении. Таким образом, этот переход используется для изменения состояния представления А на состояние Б и наоборот.
Если во время воспроизведения перехода из состояния представления А в состояние Б возникает обратный переход, то текущее воспроизведение прерывается. Обратный переход всегда останавливает воспроизводимый переход в текущем местоположении. Обратный переход всегда воспроизводится, как если бы для свойства interruptionBehavior
было установлено значение stop
независимо от фактического значения interruptionBehavior
.
Это свойство проверяется только в том случае, когда новый переход является строго противоположным переходу, воспроизводящемуся в настоящее время. Таким образом, если воспроизводится переход между состояниями A и Б, затем запускается обратный переход в состояние A.
Если переход использует свойства toState
и fromState
для явной обработки перехода между состояниями А и Б, то Flex игнорирует свойство autoReverse
.
Значением по умолчанию является false.
Связанные элементы API
effect | свойство |
public var effect:IEffect
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Объект IEffect, воспроизводящийся в случае применения перехода. Как правило, это составной объект эффектов, например Parallel или Sequence, содержащий несколько эффектов.
Свойство effect
является свойством по умолчанию класса Transition. При использовании синтаксиса тегов MXML тег <mx:effect>
можно опустить.
fromState | свойство |
public var fromState:String = "*"
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Строка, указывающая состояние представления, из которого начинается изменение в случае применения перехода. Значением по умолчанию является *, что соответствует любому состоянию представления.
Пустая строка "", установленная в качестве значения этого свойства, соответствует основному состоянию представления.
Значением по умолчанию является "*".
interruptionBehavior | свойство |
public var interruptionBehavior:String = "end"
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4.5 |
Версии среды выполнения: | Flash Player 10.2, AIR 2.5 |
Flex не поддерживает одновременное воспроизведение нескольких переходов. Если новый переход возникает во время воспроизведения текущего перехода, то текущий переход прерывается. Это свойство управляет поведением текущего перехода при его прерывании.
По умолчанию текущий переход завершается и всем эффектам этого перехода присваивается значение end. Оно соответствует значению свойства end
. Если значением этого свойства является stop
, воспроизводимый переход останавливается в текущем местоположении. Новый переход начинает воспроизведение с места остановки предыдущего перехода.
Значение stop
может сгладить внешний вид прерванного перехода. Эффект сглаживания возникает потому, что переключение текущего перехода в состояние завершения перед запуском нового перехода незаметно для пользователя.
В некоторых случаях прерывание перехода может представлять собой обратное направление текущего перехода. Например, при воспроизведении перехода между состояниями А и Б возникает обратный переход, прерывающий текущий переход. Если для свойства autoReverse
экземпляра перехода установлено значение true
, один и тот же переход может использоваться для переходов в прямом и обратном направлении. Если прерывающий переход является текущим переходом, выполняемым в обратном направлении и имеющим свойство autoReverse
со значением true
, прерывающий переход выполняется как если бы для свойства interruptionBehavior
было установлено значение stop
, независимо от фактического значения interruptionBehavior
.
Класс mx.states.InterruptionBehavior определяет возможные значения этого свойства.
Значением по умолчанию является end.
Связанные элементы API
toState | свойство |
public var toState:String = "*"
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Строка, определяющая состояние представления, к которому осуществляется переход. Значением по умолчанию является *, что соответствует любому состоянию представления.
Пустая строка "", установленная в качестве значения этого свойства, соответствует основному состоянию представления.
Значением по умолчанию является "*".
Transition | () | Конструктор |
public function Transition()
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Конструктор.
<?xml version="1.0" ?> <!-- Simple example to demonstrate the Transition class. --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" currentState="Login"> <!-- Define the view states --> <s:states> <s:State name="Login" /> <s:State name="Register" /> </s:states> <s:transitions> <!-- Define the transition from the base state to the Register state.--> <s:Transition id="toRegister" fromState="*" toState="Register"> <s:Sequence targets="{[loginPanel, registerLink, confirm, loginLink]}"> <s:RemoveAction /> <s:Fade /> <s:SetAction target="{loginPanel}" property="title" /> <s:SetAction target="{loginButton}" property="label" /> <s:SetAction target="{loginButton}" property="color" /> <s:Resize target="{loginPanel}"/> <s:AddAction /> <s:Fade /> </s:Sequence> </s:Transition> <!-- Define the transition from the Register state to the base state.--> <s:Transition id="toDefault" fromState="Register" toState="*"> <s:Sequence targets="{[loginPanel, registerLink, confirm, loginLink]}"> <s:RemoveAction/> <s:SetAction target="{loginPanel}" property="title"/> <s:SetAction target="{loginButton}" property="label"/> <s:SetAction target="{loginButton}" property="color"/> <s:Resize target="{loginPanel}"/> <s:AddAction/> </s:Sequence> </s:Transition> </s:transitions> <!-- Define a Panel container that defines the login form. The title of the Panel changes depending on the state. --> <s:Panel title="Login" title.Register="Register" id="loginPanel" width="75%" horizontalCenter="0" verticalCenter="0"> <s:controlBarLayout > <s:BasicLayout /> </s:controlBarLayout> <s:layout> <s:VerticalLayout paddingTop="10" paddingBottom="10" paddingRight="10" paddingLeft="10" /> </s:layout> <s:Label color="blue" width="100%" text="Click the 'Need to Register?' link to change state. Click the 'Return to Login' link to return to the base state."/> <!-- The following form has two TextInputs in the Login state and three TextInputs in the Register state. --> <s:Form id="loginForm" > <s:FormItem label="Username:"> <s:TextInput/> </s:FormItem> <s:FormItem label="Password:"> <s:TextInput/> </s:FormItem> <s:FormItem id="confirm" label="Confirm:" includeIn="Register" includeInLayout="false" includeInLayout.Register="true"> <s:TextInput/> </s:FormItem> </s:Form> <!-- The controlBar includes two visible items in each state. Which LinkButton is visible is determined by the state --> <s:controlBarContent> <mx:LinkButton id="registerLink" label="Need to Register?" top="10" bottom="10" click="currentState='Register'" left="10" includeIn="Login" /> <mx:LinkButton id="loginLink" label="Return to Login" click="currentState=''" includeIn="Register" left="10" top="10" bottom="10"/> <s:Button label="Login" label.Register="Register" id="loginButton" right="10" color.Register="0x0000FF" top="10" bottom="10"/> </s:controlBarContent> </s:Panel> </s:Application>
Tue Jun 12 2018, 11:34 AM Z