property Animaton属性动画
来源:互联网 发布:face nginx 编辑:程序博客网 时间:2024/06/05 14:50
看了Google官网上面的属性动画的介绍,总结一下上面的知识要点:
ValueAnimator:
封装了一个TimeInterpolator,用于决定动画计算的速度,如加减速或者匀速变化。同时还封装了一个TypeEvaluator,这个参数决定如何计算startValue到endValue动画属性的值,比如IntEvaluator,FloatEvaluator。也就是说,TimeInterpolator决定了从0到1的fraction变化情况,而TypeEvaluator则是在TimeInterpolator基础上确定从startValue到endValue的变化情况。
Animator.AnimatorListener接口可监听动画的各个阶段。假如不想实现该接口里面所有的方法,可以继承AnimatorListenerAdapter这个类,该类实现了Animator.AnimatorListener这个接口,并且是一个空的方法。
假如在一个viewgroup中要给addview或者removeview添加动画效果,可以用LayoutTransition来实现。LayoutTransition自带默认的动画,也可以自定义动画。使用方法如下:
A(代码中设置,可以自定义动画):
1.生成一个LayoutTransition对象
2.给它设定自己自定义的动画(或者不设,直接用默认的)
3.将LayoutTransition传给ViewGroup。ViewGroup.setLayoutTransition().
B(xml中设,用的是默认动画)
直接在viewgroup中将android:animateLayoutChanges="true"即可。
Keyframe,字面意思也就是关键帧。作用是可以给某一个时刻(fraction,0到1之间)设定对应的值,比如下面的要对一个东东进行旋转:
Keyframe kf0 = Keyframe.ofFloat(0f, 0f);
Keyframe kf1 = Keyframe.ofFloat(.5f, 360f);
Keyframe kf2 = Keyframe.ofFloat(1f, 0f);
PropertyValuesHolder pvhRotation = PropertyValuesHolder.ofKeyframe("rotation", kf0, kf1, kf2);
ObjectAnimator rotationAnim = ObjectAnimator.ofPropertyValuesHolder(target, pvhRotation)
rotationAnim.setDuration(5000ms);
当要对View进行操作时,View中的一些属性有:
translationX,translationY:移动的距离
rotation,rotationX,rotationY:旋转
scaleX,scaleY:放大缩小
x,y:View最终的距离,由left,top与translationX,translationY之和决定
alpha:透明度
ViewPropertyAnimator的作用是同时执行多种动画,而且它的代码使用起来比ObjectAnimator更加简介明了。使用如下:
ViewPropertyAnimator vp = View.animate();
vp.alpha().x().y()...等等
在xml中也可以用属性动画,分别是ValueAnimator ,ObjectAnimator,AnimatorSet。假如用在Eclipse中,需要把xml文件放到res/animator中,否则无效。在带代码中使用xml的动画时,需要先inflate,然后在setTarget来设定执行该动画的Object。如下:
AnimatorSet set = AnimatorInflator.loadAnimator(context , R.anim.property_animator);
set.setTarget(Object);
set.start();
0 0
- property Animaton属性动画
- Property Animation(属性动画)
- 属性动画(Property Animation)
- 属性动画(Property Animation)
- android属性动画Property
- Property 属性动画入门
- 属性动画(property)
- Property Animation(属性动画)
- 【Property Animator 属性动画】
- Property (属性动画)
- Property Animation 属性动画
- Property 属性动画
- 属性动画 Property Animation
- 属性(Property)动画
- 属性动画(Property Animation)
- 属性动画(Property Animation)
- android属性动画-Property Animations
- Android Property Animation 属性动画
- 动态内存分配
- ORACLE 事务属性详解
- JarURLConnection用途
- 安装linux学习三(2):CentOS 5.5下安装MySQL 5.5全过程分享
- Xcode升级后插件失效的原理与修复办法
- property Animaton属性动画
- 192.168.0.1/24子网的概念
- FragmentTransaction与Fragment生命周期的关系
- 常用linux指令(centos版)
- Cmder+Sublime Text“基友”实验
- Java之包和接口
- 将struts2和hibernate结合实现一个简单的小程序(一)
- 高德地图初步使用-定位
- Linux LVM管理——DM的管理