com.aliyun.svideosdk.common.struct.effect

## Class ActionSet

- java.lang.Object
- - com.aliyun.svideosdk.common.struct.effect.ActionBase
  - - com.aliyun.svideosdk.common.struct.effect.ActionSet

-     public class ActionSet
      extends ActionBase

  Added in v3.25.0

       The Action Set, the action set can add child action
       It's has two Mode : Dependent and Independent
       Dependent Mode : All Sub Animation perform between AnimationSet's startTime and duration. The Sub Animation's startTime is equal to AnimationSet's startTime.
                        The SubAnimation's real performing time is AnimationSet.startTime + SubAnimation.startOffset, And it's duration is less than AnimationSet's duration
       for example:
                 ActionSet   |------------------------------------|
                 Action1     |--------|
                 Action2              |---------------------------|
                 When ActionSet change startTime, the Action1,Action2 's real performing time will change two.
                           ActionSet   |---------------------------------|
                           Action1     |--------|
                           Action2              |------------------------|

       Independent Mode : In this mode, all Sub Animation's performing time are independent
                          When ActionSet's startTime/duration is not set, it's startTime/duration has no meaning.
                          But ActionSet's startTime = min(childActions.startTime)
                              ActionSet's duration = max(childActions.duration)
                          When ActionSet's startTime/duration is set, all Sub Animation's startTime/duration is equal to AnimationSet's startTime/duration
                              childAction.startTime = ActionSet.startTime
                              childAction.duration = ActionSet.duration
       for example :
       ActionSet's startTime/duration has not set
                ActionSet     |-----------------------|  has no meaning
                Action1       |--------|
                Action2           |------------------------|
       ActionSet's startTime/duration has set
                ActionSet    |-----------------------|
                Action1      |-----------------------|
                Action2      |-----------------------|

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ActionSet.AnimationMode`

    - ### Nested classes/interfaces inherited from class com.aliyun.svideosdk.common.struct.effect.ActionBase

      `ActionBase.Interpolator, ActionBase.PartParam, ActionBase.RepeatMode, ActionBase.Scope, ActionBase.Type`

  - ### Field Summary

    - ### Fields inherited from class com.aliyun.svideosdk.common.struct.effect.ActionBase

      `mAnimationConfig, mDuration, mFillAfter, mFillBefore, mId, mInterpolatorType, mIsStream, mPartParam, mRepeatCount, mRepeatMode, mScope, mStartOffset, mTargetId, mTimelineIn, mTimelineOut, mType`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ActionSet()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAction(ActionBase aActionBase)`
    `void` | `setAnimationConfig(java.lang.String animationConfig)` Defines custom animations with the specified animation configuration.
    `void` | `setMode(ActionSet.AnimationMode aMode)`

    - ### Methods inherited from class com.aliyun.svideosdk.common.struct.effect.ActionBase

      `equals, getAnimationConfig, getDuration, getDuration, getId, getResId, getStartTime, getStartTime, getTargetId, getTimelineIn, getTimelineOut, getType, isStream, setDuration, setDuration, setFillAfter, setFillBefore, setId, setInterpolatorType, setIsStream, setPartParam, setRepeatCount, setRepeatMode, setResId, setScope, setStartOffset, setStartTime, setStartTime, setTargetId, setTimelineIn, setTimelineOut, setType`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ActionSet

          public ActionSet()

  - ### Method Detail

    - #### addAction

          public void addAction(ActionBase aActionBase)

    - #### setMode

          public void setMode(ActionSet.AnimationMode aMode)

    - #### setAnimationConfig

          public void setAnimationConfig(java.lang.String animationConfig)

      Description copied from class: `ActionBase`

           Defines custom animations with the specified animation configuration. Allows you to create custom animations at random points in time
           to achieve different transition speeds. The animation configuration must be a string representation of semicolon-separated key-value pairs.
           The key indicates the point in time and the value can hold one or two values depending on the animation type. One value is needed for
           animations such as rotation while two comma-separated values are needed for animations such as transition and scaling. Separate the key
           and value in a key-value pair with a colon.

           Examples:
           rotation: "0.0:0.123;0.1:0.245;0.3:0.798"
           translation: "0.0:0.234,1.47;0.1:2.3,4.565;0.2:3.45,6.78"

      Overrides:
        `setAnimationConfig` in class `ActionBase`
      Parameters:
        `animationConfig` - The animation configuration.