Tween动画通过对View的内容完成一系列的图形变换,通过平移、缩放、旋转、改变透明度来实现动画效果。以我的理解有点像flash里面的补间动画。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
<!--
这是大框架,向里面添加内容即可完成相应的动画
其中,alpha标签是透明度动画,rotate是旋转动画,scale是渐变尺寸伸缩动画,translate是平移动画
-->
<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="3000"
/>
<!--
3秒透明度动画,不透明度从10% 变为100%(即10%可见到100%可见)
-->
<rotate
android:fromDegrees="0"
android:toDegrees="359"
android:duration="1000"
android:repeatCount="infinite"
android:pivotX="50%"
android:pivotY="50%"
android:repeatMode="restart"/>
<!--
repeatMode:重复方式,有2种,
旋转动画,从0度到359度的旋转,耗时1000ms(1秒),
repeatCount:循环次数,可以写具体int值
pivotX 和 pivotY表示旋转圆心为物件X和Y个一半的地方,即正中心
restart表示从头来过
reverse表示逆序
-->
</set>
在java代码中这样调用即可:
ImageView mImageView = (ImageView) super.findViewById(R.id.XXXX);
Animation operatingAnim = AnimationUtils.loadAnimation(this, R.anim.tip); //tip为刚才动画xml文件的文件名
LinearInterpolator lin = new LinearInterpolator();
operatingAnim.setInterpolator(lin);
mImageView.setAnimation(operatingAnim);
//开始动画
mImageView.startAnimation(operatingAnim);
//结束动画
mImageView.clearAnimation();