public abstract class ActionBase
extends java.lang.Object
ActionFade
,
ActionRotate
,
ActionRotateBy
,
ActionRotateTo
,
ActionScale
,
ActionTranslate
,
ActionWipe
Modifier and Type | Class and Description |
---|---|
static class |
ActionBase.Interpolator
v3.25.0添加
插值器
|
static class |
ActionBase.PartParam
v3.25.0添加
局部节点动画参数
|
static class |
ActionBase.RepeatMode |
static class |
ActionBase.Scope |
static class |
ActionBase.Type |
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
mAnimationConfig
动画的config
|
protected java.lang.Long |
mDuration
在stream轴(播放轴)的时长
|
protected int |
mFillAfter
如果fillAfter为true,动画在画面结束后停留在动画最后帧
|
protected int |
mFillBefore
如果fillBefore未true,动画在starttime前画面停留在动画第一帧
|
protected int |
mId
生成的帧动画id
|
protected int |
mInterpolatorType
加速器类型, 详细参数请查案
ActionBase.Interpolator |
protected boolean |
mIsStream
是否对主流进行帧动画
|
protected ActionBase.PartParam |
mPartParam
v3.25.0添加
|
protected int |
mRepeatCount |
protected int |
mRepeatMode |
protected int |
mScope
v3.25.0添加
|
protected float |
mStartOffset
动画延迟的秒数,当startOffset > 0时, 动画的开始时间为 timelineIn + startOffset
|
protected int |
mTargetId
作用的目标ID
|
protected float |
mTimelineIn
动效相对于时间线的切入点。单位:秒,精确到小数点后4位
|
protected float |
mTimelineOut
动效相对于时间线的出点。单位:秒,精确到小数点后4位
|
protected ActionBase.Type |
mType
动画类型
|
Constructor and Description |
---|
ActionBase() |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj) |
java.lang.String |
getAnimationConfig()
获取动画配置
|
long |
getDuration()
获取动画持续时间
|
long |
getDuration(java.util.concurrent.TimeUnit timeUnit)
获取动画持续时间
|
int |
getId()
获取该帧动画的id,唯一资源标识符
|
java.lang.String |
getResId()
获取资源id
|
long |
getStartTime()
获取时间
|
long |
getStartTime(java.util.concurrent.TimeUnit timeUnit)
获取时间
|
int |
getTargetId()
获取目标id
|
float |
getTimelineIn()
获取相动画的切入点时间
|
float |
getTimelineOut()
获取动效相对于时间线的切出点时间
|
ActionBase.Type |
getType()
获取帧动画类型
|
boolean |
isStream()
该帧动画是否作用于主流
|
void |
setAnimationConfig(java.lang.String animationConfig)
Deprecated.
|
void |
setDuration(long durationUs)
设置动画时长
|
void |
setDuration(long duration,
java.util.concurrent.TimeUnit timeUnit)
设置动画时长
|
void |
setFillAfter(boolean aFillAfter)
v3.25.0 新增
如果fillAfter为true,动画在画面结束后停留在动画最后帧
|
void |
setFillBefore(boolean aFillBefore)
v3.25.0 新增
如果fillBefore未true,动画在starttime前画面停留在动画第一帧
|
void |
setId(int id)
设置该帧动画的id,不需要用户调用
|
void |
setInterpolatorType(ActionBase.Interpolator aInterpolator)
v3.25.0 新增
设置插值器类型, 详细参数请查案
ActionBase.Interpolator |
void |
setIsStream(boolean isStream)
设置针对主流,如果要针对主流设置帧动画,必须调用
|
void |
setPartParam(ActionBase.PartParam aPartParam)
v3.25.0 新增
设置局部动画参数, 只有scope为
ActionBase.Scope.Part 时才有效 |
void |
setRepeatCount(int aRepeatCount)
v3.25.0 新增
|
void |
setRepeatMode(ActionBase.RepeatMode aRepeatMode)
v3.25.0 新增
循环模式
|
void |
setResId(java.lang.String id)
设置动画资源id, 用于标识动画资源的唯一性
|
void |
setScope(ActionBase.Scope aScope)
v3.25.0 新增
|
void |
setStartOffset(long aStartOffset)
v3.25.0 新增
设置动画延迟的微秒数,当startOffset > 0时, 动画的开始时间为 timelineIn + startOffset
|
void |
setStartTime(long startTimeUs)
设置动画的开始时间,
|
void |
setStartTime(long startTime,
java.util.concurrent.TimeUnit timeUnit)
设置动画的开始时间
|
void |
setTargetId(int id)
设置动画作用目标ID,目标可能是某个流,也可能是某个素材,比如贴纸,字幕等等。
如果要在主流上某段时间加帧动画,则需要先获取主流的ID,可以通过
AliyunIClipManager.getAllClips() }
获取主流列表,然后找到对应的AliyunClip ,通过AliyunClip.getId()
来获取流ID,如果是素材比如动图或者贴纸,则可以通过EffectBase.getViewId() 来获取素材ID。
另外如果是针对主流的需要setIsStream(boolean) 设置为true,说明这个是针对主流的 |
void |
setTimelineIn(float timelineIn)
设置动效相对于时间线的切入点时间
|
void |
setTimelineOut(float timelineOut)
设置动效相对于时间线的切出点时间
|
protected void |
setType(ActionBase.Type type)
设置帧动画类型
|
protected transient int mTargetId
protected ActionBase.Type mType
protected float mTimelineIn
protected float mTimelineOut
protected int mScope
动画作用范围 0 : 整体 1 : 局部 默认值为0
protected ActionBase.PartParam mPartParam
局部动画属性参数
protected transient java.lang.Long mDuration
protected float mStartOffset
protected transient boolean mIsStream
protected transient int mId
protected int mFillBefore
protected int mFillAfter
protected int mRepeatCount
protected int mRepeatMode
protected java.lang.String mAnimationConfig
protected int mInterpolatorType
ActionBase.Interpolator
public java.lang.String getAnimationConfig()
@Deprecated public void setAnimationConfig(java.lang.String animationConfig)
自定义动画的配置脚本,开发者可以自行配置每种动画在每一个时间刻度的具体动画值,以实现各种各样的变换速度 配置脚本的格式是采用键值对,是以分号";"为间隔的键值对列表,键就是时间刻度,值则分单值和双值,比如旋转角度这种只需要描述角度值, 则使用单值,而像位移、缩放这种,需要x,y的值,则使用双值,双值的两个值之间用逗号","间隔,键和值之间以冒号":"间隔。 举例:旋转角度变化的"0.0:0.123;0.1:0.245;0.3:0.798"。 位移变化的"0.0:0.234,1.47;0.1:2.3,4.565;0.2:3.45,6.78"
animationConfig
- 配置脚本public ActionBase.Type getType()
protected void setType(ActionBase.Type type)
type
- 动画类型public long getStartTime()
public long getStartTime(java.util.concurrent.TimeUnit timeUnit)
v3.27.0 新增
timeUnit
- 时间单位public void setStartTime(long startTimeUs)
startTimeUs
- 单位:微秒public void setStartTime(long startTime, java.util.concurrent.TimeUnit timeUnit)
v3.27.0 新增
startTime
- timeUnit
- public long getDuration()
public long getDuration(java.util.concurrent.TimeUnit timeUnit)
v3.27.0 新增
timeUnit
- 时间单位public void setDuration(long durationUs)
durationUs
- 单位:微秒public void setDuration(long duration, java.util.concurrent.TimeUnit timeUnit)
v3.27.0 新增
duration
- timeUnit
- 时间单位public boolean isStream()
public void setIsStream(boolean isStream)
isStream
- 是否作用于主流public int getTargetId()
public void setTargetId(int id)
设置动画作用目标ID,目标可能是某个流,也可能是某个素材,比如贴纸,字幕等等。 如果要在主流上某段时间加帧动画,则需要先获取主流的ID,可以通过AliyunIClipManager.getAllClips()
} 获取主流列表,然后找到对应的AliyunClip
,通过AliyunClip.getId()
来获取流ID,如果是素材比如动图或者贴纸,则可以通过EffectBase.getViewId()
来获取素材ID。 另外如果是针对主流的需要setIsStream(boolean)
设置为true,说明这个是针对主流的
id
- 目标IDpublic int getId()
public void setId(int id)
id
- 唯一资源标识符public java.lang.String getResId()
public void setResId(java.lang.String id)
public void setScope(ActionBase.Scope aScope)
动画作用范围ActionBase.Scope.Overall
: 整体ActionBase.Scope.Part
: 局部 - 目前只针对字幕起作用,在字幕上会针对单个文字应用动画 默认值为ActionBase.Scope.Overall
public void setPartParam(ActionBase.PartParam aPartParam)
ActionBase.Scope.Part
时才有效public void setFillBefore(boolean aFillBefore)
aFillBefore
- public void setFillAfter(boolean aFillAfter)
aFillAfter
- public void setRepeatCount(int aRepeatCount)
动画最大循环次数,当mRepeatMode不是NONE,repeatCount才起作用。 如果repeatCount = 0,则动画会一直循环下去。
repeatCount
- public void setRepeatMode(ActionBase.RepeatMode aRepeatMode)
aRepeatMode
- public float getTimelineIn()
public void setTimelineIn(float timelineIn)
in
- 切入点时间 单位 秒public float getTimelineOut()
public void setTimelineOut(float timelineOut)
out
- 切出点时间public void setInterpolatorType(ActionBase.Interpolator aInterpolator)
ActionBase.Interpolator
aInterpolator
- 加速器public void setStartOffset(long aStartOffset)
aStartOffset
- public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object