动画知识点汇总
来源:互联网 发布:2015年程序员考试真题 编辑:程序博客网 时间:2024/04/25 15:14
一、补间动画
alpha、translate、scale、rotate
1、Animation实现方式:
1)加载配置文件实现(res/anim)——alpha、translate,scale、rotate
Animation scale = AnimationUtils.loadAnimation(Activity.this,R.anim.scale);
img.startAnimation(scale);
四种变化常用属性:alpha(fromAlpha,toAlpha),scale(fromXScale,toXScale,pivotX,pivotY),translate(formXDelta,toXDelta,fillAfter),rotate(fromDegree,toDegree,pivotX,pivotY)
2)java代码实现——AlphaAnimation、TranslateAnimation、ScaleAnimation、RotateAnimation
Animation alpha = new AlphaAnimation(0.1f,1.0f);
alpha.setDuration(1000);
img.startAnimation(alpha);
2、组合动画的实现:
1)先后播放A和B,设置A的AnimationListener(),当A的onAnimationEnd出发时,执行B动画
2)先后播放A和B,通过动画集合AnimationSet,设置A和B,在B中设置startOffset为A动画的播放时间
3)动画循环闪烁,通过java代码中动画的.setRepeatCount和.setRepeatMode(Animation.REVERCE,Animation.RESTART)来实现动画循环
4) Activity之间的切换,overridePendingTranslation(R.anim.in,R.anim.out);
二、帧动画(FrameAnimation)
在res/drawable中创建一个文件,文件中采用animation-list分组设置每个item,每个item顺序播出
三、布局动画
1.LayoutAnimationController布局动画控制器的使用:
LayoutAnimationController lac = new LayoutAnimationController(this,R.anim.animation);
listview.setLayoutAnimation(lac);
listview.startLayoutAnimation();
四、属性动画
1、弥补了补间动画仅重绘动画,动作响应位置不变的缺陷,不适用于做具有交互效果的动画,属性动画可弥补这些问题
2.ObjectAnimator:
ObjectAnimator.ofFloat(imageview,“translationX”,0F,200F).setDuration(1000).start();
ObjectAnimator.ofFloat(imageview,“rotation”,0F,200F).setDuration(1000).start();
以上两个动画同时执行
3.PropertyvalueHolder(简化ObjectAninmatior,对属性动画进行了一定的优化)
PropertyValueHolder p1 = PropertyValueHolder.ofFloat("translationX",0F,200F);
PropertyValueHolder p2 = PropertyValueHolder.ofFloat("rotation",0F,360F);
ObjectAnimator.ofPropertyValueHolder(imageview,p1,p2).setDuration(1000).start();
4.AnimatorSet方法:
AnimatorSet set = new AnimatorSet();
ObjectAnimator animation01 = ObjectAnimator.ofFloat(imageview,“translationX”,0F,200F)
ObjectAnimator ainmation02 = ObjectAnimator.ofFloat(imageview,“rotation”,0F,360F)
set.playTogethor(animation01,animation02);/set.playSequentially(animation01,animation02);//set.play(animation01).with(animation02)//set.play(animation01).after(animiation02)set.setDuration(1000);
set.start();
5.animator的监听事件:
animation01.addListener
6.interpolator插值器:
animator.setInterpolator(new BounceInterpolator());
7.ValueAnimator,数值发生器,是objectAnimator的父类
ValueAnimator animator = ValueAnimator.ofInt(0F,100F);
animator.setDuration(1000);
animator.addUpdatedListener(...)...
- 动画知识点汇总
- Android动画知识点汇总
- 补间动画知识点汇总
- H5+CSS3简单动画 知识点 汇总
- css3转换,过渡,动画效果知识点汇总
- 知识点汇总
- 知识点汇总
- 知识点汇总
- 知识点汇总,知识点聚合汇总
- css3 2d转换3d转换以及动画的知识点汇总
- css3 2d转换3d转换以及动画的知识点汇总
- css3 2d转换3d转换以及动画的知识点汇总
- css3 2d转换3d转换以及动画的知识点汇总
- css3 2d转换3d转换以及动画的知识点汇总
- css3 2d转换3d转换以及动画的知识点汇总_1
- C++知识点汇总
- .NET知识点汇总
- java知识点汇总
- Android-database
- jquery ui dialog autofocus 去掉默认第一个元素获取焦点
- Android上玩玩Hook:Cydia Substrate实战
- UITableView
- IOS-4-面试题1:黑马程序员IOS面试题大全
- 动画知识点汇总
- opencv下摄像头的采集和保存
- UI06_UIScrollView
- 99% 的人中枪:过度分析
- UITableView省市区数组
- 3.2Library string Type
- hdoj1561The more, The Better【树形dp+01背包】
- 设计模式之-----命令模式
- UITableView