Android动画机制
2016-11-23 21:15:42 0 举报
AI智能生成
Android动画机制是一种用于在应用程序中创建视觉效果的技术。它允许开发者通过改变视图的属性值来实现动画效果,例如位置、大小、颜色等。Android提供了多种动画类型,包括补间动画(Tween Animation)、属性动画(Property Animation)和视图动画(View Animation)。 补间动画是最简单的一种动画类型,它通过对开始和结束状态之间的插值来计算中间状态。属性动画则更加灵活,可以对任何属性进行动画处理。视图动画则是针对整个视图进行的动画处理。
作者其他创作
大纲/内容
Android3.0之前
帧动画
别名:Frame Animation
Drawable Ainimation
原理:人眼的视觉暂留效益
两种定义方式
xml文件
1.res/drawable/放图片资源
2.res/anim/新建一个XML文件
3.定义一个<Animation-list标签 onShot=控制动画是否循环
true表示循环><item节点 放drawable资源的duration时间>
代码...
补间动画
定义
开发者无须定义动画过程的每一帧,只需要定义
动画的开始和结束的两帧,然后又android系统进
行计算,在开始和结束关键帧之间插入渐变值(插值器)来实现平
滑过渡,从而完成一系列效果的动画。
类型
AlphaAnimation
ScaleAnimation
TransationAnimation
RotateAnimation
创建方式
XML文件
1.res/drawable/文件
2.添加set节点 加上interpolator属性
3.在节点中添加四种节点属性(时间,初始结束效果)
代码
1.创建四种XXAnimation对象
2.设置持续时间
3.设置动画后保存结束状态(setFillAfter)
4.对象setAnimation(anim)
自定义补间动画...
Android3.0发布
属性动画propertyAnimation
属性动画和补间动画的区别
补间动画还有一个最大的缺陷,就是它只是改变了
View的显示效果而已,并不会真正的改变View的属
性。具体来说,例如屏幕左上角有一个Button,使
用补间动画将其移动到右下角,此刻你去点击右下
角的Button,它是绝对不会响应点击事件的,因此
其作用区域依然还在左上角。只不过是补间动画将
其绘制在右下角而已。
属性动画不仅改变显示效果,还改变属性。
常用的属性
duration
interpolator
repeatCount
repeatMode
帧刷新频率默认是10ms
ordering属性可以控制这组动画是否是顺序执行还是一起执行
AnimatorSet
ValueAnimator
可以实现倒计时、颜色渐变
设置StateBar样色渐变效果的Demo
int curColor = this.getWindow().getStatusBarColor();
//其实是ArgbEvaluator对int的颜色进行了计算,使从curColor色值,变化到设置的色值
ValueAnimator animator = ValueAnimator.ofObject(new ArgbEvaluator(),curColor,Color.argb(0,0,0,0));
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
getWindow().setStatusBarColor((Integer) animation.getAnimatedValue());
}
});
animator.setDuration(3000).setStartDelay(1000);
animator.start();
Android4.4中
AndroidSDK 出现transition框架
插值器Interpolator
startAnimation马上开始动画
setAnimation默认是在第一次显示的时候
它不仅需要设置动画还要设置生效时间
Invaluator(求值程序类)
可以对Argb、int、float求值
0 条评论
下一页