Android属性动画
来源:互联网 发布:如何通过网络发送短信 编辑:程序博客网 时间:2024/05/23 17:36
简介:Android3.0之前,Animation存在一些局限性,动画改变的只是显示,并不能响应事件,在Android3.0之后,Google提出了属性动画来改变这一现状。
在Animator框架中使用最多的就是AnimatorSet和ObjectAnimator配合,使用ObjectAnimator来进行更加精细的控制,只控制着一个对象的一个属性值,而使用多个ObjectAnimator组合到AnimatorSet形成了一个动画。而且ObjectAnimator能够自动驱动,可以调用setFrameDelay(long frameDelay)设置动画帧之间的间隙时间,调整帧率,减少动画过程中频繁绘制界面,在不影响动画效果的前提下减少CPU资源消耗。重要的是,属性动画通过调用属性的get、set方法来真实的控制有一个View的属性值,因此,强大的属性动画框架,基本可以实现所有的动画效果。
ObjectAnimator
ObjectAnimator是属性动画框架中最重要的实行类,创建一个ObjectAnimator只需要通过静态工厂类直接返回一个ObjectAnimator对象,参数:一个对象,和对象的属性值,
private void translate() {
//参数3为平移的距离,可有正负
// ObjectAnimator animator = ObjectAnimator.ofFloat(objButton,”translationX”,300);
//参数3为旋转的角度 //ObjectAnimator animator1 = ObjectAnimator.ofFloat(objButton,"rotation",360); // animator.setDuration(3000); //animator.start(); /* * ofFloat()方法的第一个参数表示动画操作的对象(可以是任意对象), * 第二个参数表示操作对象的属性名字(只要是对象有的属性都可以), * 第三个参数之后就是动画过渡值。当然过度值可以有一个到N个, * 如果是一个值的话默认这个值是动画过渡值的结束值。如果有N个值,动画就在这N个值之间过渡。 * 在代码中,通过PropertyValuesHolder.ofFloat()控制着translationX,scaleX,scaleY的属性,最后调用 * ObjectAnimator.ofPropertyValuesHolder()来实现多属性动画的共同作用。 * * PropertyValuesHolder pvh1 = PropertyValuesHolder.ofFloat("translationX",300f); PropertyValuesHolder pvh2 = PropertyValuesHolder.ofFloat("scaleX",1f, 0, 1f); PropertyValuesHolder pvh3 = PropertyValuesHolder.ofFloat("scaleY",1f, 0, 1f); ObjectAnimator.ofPropertyValuesHolder(objButton,pvh1,pvh2,pvh3).setDuration(2000).start(); */ /* * 用AnimatorSet实现一个属性同时对应多个属性的动画,它不仅可以实现这种效果,还可以更加精确的控制顺序. * 在属性动画中,AnimatorSet正是通过playTogether()、playSequentially()、animSet.play().with()、before() * after()这些方法来控制多个动画的协同工作方式。从而做到对动画播放顺序的精确控制。 * ObjectAnimator animator2 = ObjectAnimator.ofFloat(objButton,"translationX",300f); ObjectAnimator animator3 = ObjectAnimator.ofFloat(objButton,"scaleX",1f, 0, 1f); ObjectAnimator animator4 =ObjectAnimator.ofFloat(objButton,"scaleY",1f,0,1f); AnimatorSet as = new AnimatorSet(); as.setDuration(2000); as.playTogether(animator2,animator3,animator4); as.start(); */ }
在XML中定义属性动画
0 0
- Android动画--属性动画
- android动画 -- 属性动画
- Android动画-属性动画
- Android动画【属性动画】
- Android动画--属性动画
- android属性动画--布局动画
- Android 动画之属性动画
- Android中的动画,属性动画
- android-属性动画、视图动画
- Android动画之属性动画
- android动画 属性动画详解
- Android笔记----动画、属性动画
- Android动画之属性动画
- android 动画 之 属性动画
- Android动画之---属性动画
- Android动画之属性动画
- Android动画--属性动画--基础
- Android动画(三):属性动画
- leetcode 9. Palindrome Number
- 金融大数据分析平台Palantir Metropolis介绍
- linux语句整理【边整理边记录】
- Nodejs之文件系统的使用
- HDU 3586 Information Disturbing(树形DP)
- Android属性动画
- android app瘦身
- Android中使用PreferenceActivity创建菜单
- intent传参与接收参数
- 联合体判断大小端
- CMS系统使用技巧
- Ugly Number II(求第N个丑数)
- Java 数组及其内存管理
- iOS开发中XIB的使用