属性动画
来源:互联网 发布:系统盘垃圾清理软件 编辑:程序博客网 时间:2024/04/25 07:08
1、属性动画:
ObjcectAnimator 属性动画要求最低api支持11, 能改变动画的属性。
Android的属性动画是3.0出现的,它的意义是真正的改变了组件的属性的状态值。 补间动画状态虽然改变但是属性值一直保持不变。
属性动画对于平移,缩放,透明度,还有旋转用的对象都是ObjectAnimator(属性动画师)。
ObjectAnimator oa = ObjectAnimator.ofFloat(target, propertyName, values)
target:作用目标组件,propertyName,属性名字。
属性动画ObjectAnimator 每次只能设置一个属性,可以同时执行多属性。
public void translate(View v) { //target 目标,动画作用的组件。// 属性,具有set,get方法, 后面的values是一个可变数据。 属性动画对象的得到是of ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "translationX", 10,70,20,100); oa.setDuration(2000); oa.setRepeatCount(1); oa.setRepeatMode(ValueAnimator.REVERSE); //ValueAnimator.Reverse 重复的模式 不同于补间动画(结果相同) oa.start(); }}
旋转;
ObjectAnimator oa = ObjectAnimator.ofFloat(iv, “rotationX”,0,360); //表示是以x轴中心的旋转,(x轴为轴心的旋转)
public void rotate(View v) { ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "rotation",0,180,90,360); //旋转是顺时针的旋转, oa.setDuration(2000); oa.setRepeatCount(1); oa.setRepeatMode(ValueAnimator.REVERSE); oa.start(); }
这些属性可以在一起一块执行:
public void fly(View v){ AnimatorSet as = new AnimatorSet(); //设置按个飞// as.playSequentially(oa1,oa2,oa3,oa4); // 设置一起飞 as.playTogether(oa1,oa2,oa3,oa4); as.start(); }
最后:
用xml定义一个属性动画。
定义一个PoperptyAnimation 属性动画, 利用节点objectAnimator定义属性的一些特性;
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" > <objectAnimator android:duration="200" android:propertyName="translationX" //属性的名字不能写错 否则不工作。 android:repeatCount="1" android:repeatMode="reverse" android:valueFrom="-100" android:valueTo="100" > </objectAnimator></set>
然后用动画 AnimatorInflater 将xml文件填充;
public void xml(View v){ Animator at = AnimatorInflater.loadAnimator(this, R.animator.objectanimator); //loadAnimator at.setTarget(iv); at.start(); }
0 0
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- 属性动画
- IScroll5实现下拉刷新上拉加载更
- idea mac快捷键
- 文章标题
- 九度OJ题目1081:递推数列-快速幂
- Touch事件传递机制
- 属性动画
- 傅立叶分析导论-7有限傅立叶分析
- spring基础讲解
- 判断Python输入是否为数字、字符
- 低功耗蓝牙BLE对应Gatt的UUID
- linux配置jdk环境变量
- spring+hibernate整合详细步骤解析
- 收集整理网上看到有意思的代码片段
- Visual Studio 2010配置Opencv2.4.9