android 动画机制

小白mark一下碰到过的实现android动画的几种方式。

从本质上说,任何动画的实现都是一系列静态画面的连续展示。

一、使用animation

1、补间动画:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画;

方法1:在res/anim/文件夹下可以创建动画XML;在Activity中可以用AnimationUtils.loadAnimation来加载动画XML:

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000"
    android:fillAfter="true"
    android:fromDegrees="0"
    android:pivotX="50%p"
    android:pivotY="50%p"
    android:toDegrees="1170" >

</rotate>
</pre><pre name="code" class="html" style="font-size: 14px;">
Animation anim = AnimationUtils.loadAnimation(this, R.anim.set);
btnTest.startAnimation(anim);

方法2: 使用Animation的实现类,可以实现同样的效果:

			Animation anim=new RotateAnimation
					(0, 1170, Animation.RELATIVE_TO_PARENT, 0.5f, 
							Animation.RELATIVE_TO_PARENT, 0.5f);
			btnTest.startAnimation(anim);

Animation的子类:

RotateAnimation:旋转动画

ScaleAnimation:缩放动画

AlphaAnimation:渐变动画

TranslateAnimation:平移动画

帧动画:顺序播放事先做好的图像,是一种画面转换动画。

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
    android:oneshot="false">
    <item android:drawable="@drawable/ic_launcher" android:duration="2000" />
 	<item android:drawable="@drawable/olivecard_a1" android:duration="2000" />
  	<item android:drawable="@drawable/a2" android:duration="2000" />
</animation-list>


tv.setBackgroundResource(R.drawable.frameanim);
		animationDrawable=(AnimationDrawable)tv.getBackground();
		animationDrawable.start();


后来接触到自定义Animation,详见我的另一篇blog:

http://blog.csdn.net/annieliu502/article/details/38731887


再后来接触到了 Android3.0以后的Animator;主要是运用ObjectAnimator和AnimatorSet来进行操作;有两篇很好的文章介绍:

android animator     http://blog.csdn.net/jiabailong/article/details/14168707

Android动画机制全解析    http://blog.csdn.net/eclipsexys/article/details/38401641



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值