动画[1]TweenAnimation 设置
来源:互联网 发布:淘宝网婚房纱幔 编辑:程序博客网 时间:2024/06/04 00:50
【参考链接】
TweenAnimation虽然提供了各种不同的动画,但是也具有一些相同的方法
setDuration()
持续时间
setFillAfter()
动画结束时View是否停留在结束位置,true表示停在false表示不。
setRepeatCount()
重复次数,如果-1则无限循环
setRepeatMode()
设置为Animation.RESTART则从头开始重复,设置为Animation.REVERSE则倒着开始重复
setInterpolator()
设置插值器
setStartOffset()
设置每次动画开始时的延时时间,设置后每次重复时也有延时
ta.setStartOffset(1000);
不过实际显示效果是,会先移动到动画的起始位置,等延时时间过了以后再开始动画
start()
startNow()
setStartTime()
这3个函数其实都是调用的setStartTime()方法
它并没有真正/立即开始动画,只是设置了状态位,需要我们自己触发重绘
当下次重绘的时候,判断当前时间超出了startTime,才会设置mStarted=true,并且将当前时间+duration设置为结束时间,开始动画。
通过如下方式来使用(功能同View.startAnimation())
public voidtranslate(View view) {
TranslateAnimation ta= newTranslateAnimation(
Animation.ABSOLUTE,0,
Animation.RELATIVE_TO_SELF,0f,
Animation.RELATIVE_TO_PARENT,0f,
Animation.RELATIVE_TO_PARENT,0.5f);
ta.setDuration(2000);
ta.setRepeatCount(-1);
ta.setRepeatMode(Animation.REVERSE);
ta.setInterpolator(newLinearInterpolator());
// ta.start();
// ta.startNow();
ta.setStartTime(AnimationUtils.currentAnimationTimeMillis());//这3个方法本质是一样的
iv.setAnimation(ta);
// iv.invalidate();
// invalidate()高低版本差异不一定会触发父ViewGroup派发
// 而TweenAnimanion是在父ViewGroup dispatchChild()时将Matrix应用到子View的画布上的//所以这个地方不能直接用invalidate()
((View)iv.getParent()).invalidate();
// iv.requestLayout();
// 当然用requestLayout()是可以的
}
cancel()
停止动画
setAnimationListener()
可以给动画添加监听,也是在注册观察者
可以设置onAnimationStart()、onAnimationEnd()、onAnimationRepeat()时的回调
ta.setAnimationListener(newAnimation.AnimationListener() {
@Override
public voidonAnimationStart(Animation animation) {
Log.e("shadowfaxghh","onAnimationStart");
}
@Override
public voidonAnimationEnd(Animation animation) {
Log.e("shadowfaxghh","onAnimationEnd");
}
@Override
public voidonAnimationRepeat(Animation animation) {
Log.e("shadowfaxghh","onAnimationRepeat");
}
});
- 动画[1]TweenAnimation 设置
- 动画[0]TweenAnimation 各种TweenAnimation
- Android动画1-补间动画(TweenAnimation)
- Android动画-TweenAnimation
- TweenAnimation 渐变动画
- TweenAnimation 补间动画
- Android动画之TweenAnimation
- 动画[2]TweenAnimation 使用场景
- Tweenanimation
- TweenAnimation补间动画的使用
- Android动画FrameAnimation、TweenAnimation和PropertyAnimation
- Android 补件动画 TweenAnimation 简单DEMO
- Android 补间动画TweenAnimation详解
- android补间动画(TweenAnimation)
- Android动画学习篇(一)【TweenAnimation】
- Android动画(2)--TweenAnimation(补间动画)
- 安卓动画之TweenAnimation补间动画详细攻略
- Android动画之补间动画(TweenAnimation)详解
- Cocos 安装工具文档等资料大全
- Android7.1勿扰功能简析
- 技术剖析谷歌ARCore:比苹果ARKit还厉害?
- android:layout_alignleft layout_toleftof区别详解
- Lua整理篇--环境安装
- 动画[1]TweenAnimation 设置
- 帆软制作报表,让标题行在翻页时仍然存在
- 神经网络中的激活函数
- 科普!!!什么是RUP?
- 随书笔记之一分钟内连续登录超过3次就锁定账号
- 常用的时间序列算法模型
- JS 局部数据的获取
- 《Java线程池》:Executor生命周期
- 使用ajax提交带文件的form表单