一个优雅的代码动画库。支持直接函数调用和链式调用。内部封装Tween来作为动画内核。
国内 Demo apk 二维码
添加依赖
请在 build.gradle 下添加依赖。
implementation 'cn.wufuqi:WuKongAnimation:1.0.4'
设置jdk8或更高版本
因为本sdk使用了jdk8才能使用的 Lambda 表达式,所以要在 build.gradle 下面配置jdk8或以上版本。
android {
....
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
初始化SDK
ActionManager.init(mApplication) // 尽可能早,推荐在Application中初始化
runAction方式使用动画 java使用方式请进入
//当前为kotlin代码
view.runAction(Action.fadeIn(time))//执行渐入动画
链式动画 java使用方式请进入
//当前为kotlin代码
//执行渐入动画
view.createAction()
.fadeIn(time)
.start()
Tween 动画 Tween动画请进入
//当前为kotlin代码
//执行渐入动画
//当前动画不会重复使用建议调用 setExpire(true)
TweenManager.builder(runView)
.to(mutableMapOf("alpha" to 1))
.time(time)
.setExpire(true)
.start()
接下来介绍 <链式动画> 和 <action动画> 的使用方式。
链式使用方式 java使用方式请进入
//当前为kotlin代码
//执行渐入动画
view.createAction()
.fadeIn(time)
.start()
//执行渐入动画
view.createAction()
.fadeOut(time)
.start()
//指定透明度
view.createAction()
.fadeTo(time,0f) //透明度传入 0-1
.start()
停止动画
//当前为kotlin代码
view.stopAction()
runAction使用方式 java使用方式请进入
//当前为kotlin代码
//执行渐入动画
view.runAction(Action.fadeIn(time))
//执行渐出动画
view.runAction(Action.fadeOut(time))
//指定透明度
view.runAction(Action.fadeTo(time,0f))//透明度传入 0-1
停止动画
//当前为kotlin代码
view.stopAction()
链式使用方式 java使用方式请进入
//当前为kotlin代码
//位移到指定位置
view.createAction()
.moveTo(time,x,y)
.start()
//根据当前位置,位移偏移
view.createAction()
.moveBy(time,x,y)
.start()
停止动画
//当前为kotlin代码
view.stopAction()
runAction使用方式 java使用方式请进入
//当前为kotlin代码
//位移到指定位置
view.runAction(Action.moveTo(time,x,y))
//根据当前位置,位移偏移
view.runAction(Action.moveBy(time,x,y))
停止动画
//当前为kotlin代码
view.stopAction()
链式使用方式 java使用方式请进入
//当前为kotlin代码
//缩放到指定大小
view.createAction()
.scaleTo(time,x,y)
.start()
//根据当前大小,大小偏移
view.createAction()
.scaleBy(time,x,y)
.start()
停止动画
//当前为kotlin代码
view.stopAction()
runAction使用方式 java使用方式请进入
//当前为kotlin代码
//缩放到指定大小
view.runAction(Action.scaleTo(time,x,y))
//根据当前大小,大小偏移
view.runAction(Action.scaleBy(time,x,y))
停止动画
//当前为kotlin代码
view.stopAction()
链式使用方式 java使用方式请进入
//当前为kotlin代码
//旋转到指定角度
view.createAction()
.rotateTo(time,rotation)
.start()
//根据当前角度,角度偏移
view.createAction()
.rotateBy(time,rotation)
.start()
停止动画
//当前为kotlin代码
view.stopAction()
runAction使用方式 java使用方式请进入
//当前为kotlin代码
//旋转到指定角度
view.runAction(Action.rotateTo(time,rotation))
//根据当前角度,角度偏移
view.runAction(Action.rotateBy(time,rotation))
停止动画
//当前为kotlin代码
view.stopAction()
链式使用方式 java使用方式请进入
//当前为kotlin代码
//旋转到指定角度
view.createAction()
.rotateXTo(time,rotateX)
.start()
//根据当前角度,角度偏移
view.createAction()
.rotateXBy(time,rotateX)
.start()
停止动画
//当前为kotlin代码
view.stopAction()
runAction使用方式 java使用方式请进入
//当前为kotlin代码
//旋转到指定角度
view.runAction(Action.rotateXTo(time,rotateX))
//根据当前角度,角度偏移
view.runAction(Action.rotateXBy(time,rotateX))
停止动画
//当前为kotlin代码
view.stopAction()
链式使用方式 java使用方式请进入
//当前为kotlin代码
//旋转到指定角度
view.createAction()
.rotateYTo(time,rotateY)
.start()
//根据当前角度,角度偏移
view.createAction()
.rotateYBy(time,rotateY)
.start()
停止动画
//当前为kotlin代码
view.stopAction()
runAction使用方式 java使用方式请进入
//当前为kotlin代码
//旋转到指定角度
view.runAction(Action.rotateYTo(time,rotateY))
//根据当前角度,角度偏移
view.runAction(Action.rotateYBy(time,rotateY))
停止动画
//当前为kotlin代码
view.stopAction()
链式使用方式 java使用方式请进入
//当前为kotlin代码
//透明度渐入后渐出
view.createSequenceAction()
.fadeIn(time)
.fadeOut(time)
.start()
停止动画
//当前为kotlin代码
view.stopAction()
runAction使用方式 java使用方式请进入
//当前为kotlin代码
//透明度渐入后渐出
runView.runAction(Action.sequence(Action.fadeIn(time), Action.fadeOut(time)))
停止动画
//当前为kotlin代码
view.stopAction()
链式使用方式 java使用方式请进入
//当前为kotlin代码
//同时执行位移和旋转动画
view.createSpawnAction()
.moveBy(time, x, y)
.rotateBy(time, rotation)
.start()
停止动画
//当前为kotlin代码
view.stopAction()
runAction使用方式 java使用方式请进入
//当前为kotlin代码
//同时执行位移和旋转动画
runView.runAction(
Action.spawn(
Action.moveBy(time, x, y),
Action.rotateBy(time, rotation)
)
)
停止动画 java使用方式请进入
//当前为kotlin代码
view.stopAction()
链式使用方式 java使用方式请进入
//当前为kotlin代码
//渐入后 执行打印
view.createSequenceAction()
.fadeIn(time)
.callFunc {
Log.i(this::class.java.name, "fadeIn 执行完成")
}
.start()
停止动画
//当前为kotlin代码
view.stopAction()
runAction使用方式 java使用方式请进入
//当前为kotlin代码
//渐入后 执行打印
runView.runAction(Action.sequence(Action.fadeIn(time), Action.callFunc {
Log.i(this::class.java.name, "fadeIn 执行完成")
}))
停止动画
//当前为kotlin代码
view.stopAction()
链式使用方式 java使用方式请进入
//当前为kotlin代码
//等待1秒后执行渐入
view.createSequenceAction()
.wait(1000)
.fadeIn(time)
.start()
停止动画
//当前为kotlin代码
view.stopAction()
runAction使用方式 java使用方式请进入
//当前为kotlin代码
//等待1秒后执行渐入
runView.runAction(Action.sequence(Action.wait(1000),Action.fadeIn(time)))
停止动画
//当前为kotlin代码
view.stopAction()
缓动函数计算引用 tween.js 的缓动函数。
默认的缓动函数为 Easing.linear()
链式使用方式 java使用方式请进入
//当前为kotlin代码
view.createSequenceAction()
.fadeIn(time,Easing.linear()) //使用线性缓动函数
.start()
runAction使用方式 java使用方式请进入
//当前为kotlin代码
runView.runAction(Action.fadeIn(time,Easing.linear())) //使用线性缓动函数
设置全部动画的速度为1倍
//设置全部动画的速度为1倍
TweenManager.speed = 1.0
设置动画全局暂停
//设置动画全局暂停
TweenManager.pause()
设置动画全局恢复
//设置动画全局恢复
TweenManager.pause()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。