属性动画,逐帧动画,补间动画基本用法笔记
2016-07-28 15:55
316 查看
逐帧动画:
xml:
item设置图片资源以及持续时间
java
补间动画:
分别为缩放,透明,旋转,位移,以及相关属性
属性动画:
xml
有执行顺序和其它属性
//加载资源,设置显示到的组件
属性动画代码实现:
//设置了动画的顺序,持续时间,以及监听。
xml:
item设置图片资源以及持续时间
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/f3" android:duration="3000"></item> <item android:drawable="@drawable/f1" android:duration="2000"></item> <item android:drawable="@drawable/f2" android:duration="1000"></item> </animation-list> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ff" android:background="@drawable/flay" />
java
AnimationDrawable drawable; ff= (ImageView) findViewById(R.id.ff); //设置资源 drawable= (AnimationDrawable) ff.getBackground(); drawable.start();
补间动画:
分别为缩放,透明,旋转,位移,以及相关属性
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:fromXScale="1.0" android:toXScale="0.5" android:fromYScale="1.0" android:toYScale="0.5" android:pivotX="50%" android:pivotY="50%" android:duration="8000"></scale> <alpha android:fromAlpha="1" android:toAlpha="0.5" android:duration="3000"></alpha> <rotate android:fromDegrees="0" android:toDegrees="180" android:pivotX="50%" android:pivotY="50%" android:duration="3000"></rotate> <translate android:fromXDelta="20" android:toXDelta="800" android:fromYDelta="30" android:toYDelta="1300" android:duration="8000"></translate> </set>
Animation anim; //加载资源 anim= AnimationUtils.loadAnimation(this,R.anim.anim); //开始动画 ff.startAnimation(anib);
属性动画:
xml
有执行顺序和其它属性
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <objectAnimator android:duration="2000" android:propertyName="translationX" android:valueFrom="-500" android:valueTo="10" android:valueType="floatType" > </objectAnimator> <set android:ordering="together" > <objectAnimator android:duration="3000" android:propertyName="rotation" android:valueFrom="0" android:valueTo="360" android:valueType="floatType" > </objectAnimator> <set android:ordering="sequentially" > <objectAnimator android:duration="1500" android:propertyName="alpha" android:valueFrom="1" android:valueTo="0" android:valueType="floatType" > </objectAnimator> <objectAnimator android:duration="1500" android:propertyName="alpha" android:valueFrom="0" android:valueTo="1" android:valueType="floatType" > </objectAnimator> </set> </set> </set> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="hahahahaaaa" android:layout_centerInParent="true" android:id="@+id/fram"/>
//加载资源,设置显示到的组件
textview= (TextView) findViewById(R.id.fram); Animator animator = AnimatorInflater.loadAnimator(this, R.anim.fram); animator.setTarget(textview); animator.start();
属性动画代码实现:
//设置了动画的顺序,持续时间,以及监听。
ObjectAnimator moveIn = ObjectAnimator.ofFloat(textview, "translationX", -500f, 0f); ObjectAnimator rotate = ObjectAnimator.ofFloat(textview, "rotation", 0f, 360f); ObjectAnimator fadeInOut = ObjectAnimator.ofFloat(textview, "alpha", 1f, 0f, 1f); AnimatorSet animSet = new AnimatorSet(); animSet.play(rotate).with(fadeInOut).after(moveIn); animSet.setDuration(5000); animSet.start(); animSet.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { } @Override public void onAnimationEnd(Animator animation) { } @Override public void onAnimationCancel(Animator animation) { } @Override public void onAnimationRepeat(Animator animation) { } });
相关文章推荐
- 利用httpclient 模拟登录,获取登录后信息数据
- 海思3531芯片资料汇总
- 改善既有代码的设计(二)----------重构和性能
- 网络连接的判断
- 自我介绍
- ipconfig
- SpecMPI2007 benchmark
- Performing stop of activity that is not resumed
- 高级I/O函数之socketpair
- 【精】TCP/IP协议简介(四) 之 传输层UDP&TCP
- Web安全扫描工具
- SpringMVC中出现" 400 Bad Request "错误(用@ResponseBody处理ajax传过来的json数据转成bean)的解决方法
- VisualSVN Server HTTPS
- Unix系统解压tar包时出现@LongLink错误
- 欢迎使用CSDN-markdown编辑器
- maven 依赖简介
- Android Studio如何取消与SVN的关联
- 知识点汇总
- 中缀表达式转换成后缀表达式并求值
- GIT开源优秀项目