① 打开Eclipse,新建Android工程
② 在res目录中新建anim文件夹
③ 在anim目录中新建一个myanim.xml(注意文件名小写)
④ 加入XML的动画代码
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><alpha/><scale/><translate/><rotate/>
</set>
Android动画解析--XML
<alpha><?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" ><alphaandroid:fromAlpha="0.1"android:toAlpha="1.0"android:duration="3000"/><!-- 透明度控制动画效果 alpha 浮点型值:fromAlpha 属性为动画起始时透明度toAlpha 属性为动画结束时透明度说明:0.0表示完全透明1.0表示完全不透明以上值取0.0-1.0之间的float数据类型的数字长整型值duration 属性为动画持续时间说明:时间以毫秒为单位--></set><scale>
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><scaleandroid:interpolator= "@android:anim/accelerate_decelerate_interpolator"android:fromXScale="0.0"android:toXScale="1.4"android:fromYScale="0.0"android:toYScale="1.4"android:pivotX="50%"android:pivotY="50%"android:fillAfter="false"android:duration="700" /></set><!-- 尺寸伸缩动画效果 scale属性:interpolator 指定一个动画的插入器在我试验过程中,使用android.res.anim中的资源时候发现有三种动画插入器:accelerate_decelerate_interpolator 加速-减速 动画插入器accelerate_interpolator 加速-动画插入器decelerate_interpolator 减速- 动画插入器其他的属于特定的动画效果浮点型值:fromXScale 属性为动画起始时 X坐标上的伸缩尺寸toXScale 属性为动画结束时 X坐标上的伸缩尺寸fromYScale 属性为动画起始时Y坐标上的伸缩尺寸toYScale 属性为动画结束时Y坐标上的伸缩尺寸说明:以上四种属性值0.0表示收缩到没有1.0表示正常无伸缩值小于1.0表示收缩值大于1.0表示放大pivotX 属性为动画相对于物件的X坐标的开始位置pivotY 属性为动画相对于物件的Y坐标的开始位置说明:以上两个属性值 从0%-100%中取值50%为物件的X或Y方向坐标上的中点位置长整型值:duration 属性为动画持续时间说明: 时间以毫秒为单位布尔型值:fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用
--><translate>
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><translateandroid:fromXDelta="30"android:toXDelta="-80"android:fromYDelta="30"android:toYDelta="300"android:duration="2000"/><!-- translate 位置转移动画效果整型值:fromXDelta 属性为动画起始时 X坐标上的位置toXDelta 属性为动画结束时 X坐标上的位置fromYDelta 属性为动画起始时 Y坐标上的位置toYDelta 属性为动画结束时 Y坐标上的位置注意:没有指定fromXType toXType fromYType toYType 时候,默认是以自己为相对参照物长整型值:duration 属性为动画持续时间说明: 时间以毫秒为单位
--></set><rotate>
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><rotate android:interpolator="@android:anim/accelerate_decelerate_interpolator"android:fromDegrees="0"android:toDegrees="+350"android:pivotX="50%"android:pivotY="50%"android:duration="3000" /><!-- rotate 旋转动画效果属性:interpolator 指定一个动画的插入器在我试验过程中,使用android.res.anim中的资源时候发现有三种动画插入器:accelerate_decelerate_interpolator 加速-减速 动画插入器accelerate_interpolator 加速-动画插入器decelerate_interpolator 减速- 动画插入器其他的属于特定的动画效果浮点数型值:fromDegrees 属性为动画起始时物件的角度toDegrees 属性为动画结束时物件旋转的角度 可以大于360度说明:当角度为负数——表示逆时针旋转当角度为正数——表示顺时针旋转(负数from——to正数:顺时针旋转)(负数from——to负数:逆时针旋转)(正数from——to正数:顺时针旋转)(正数from——to负数:逆时针旋转)pivotX 属性为动画相对于物件的X坐标的开始位置pivotY 属性为动画相对于物件的Y坐标的开始位置说明: 以上两个属性值 从0%-100%中取值50%为物件的X或Y方向坐标上的中点位置 长整型值:duration 属性为动画持续时间说明: 时间以毫秒为单位
-->
</set>
java 文件调用
Button button=(Button)findViewById(R.id.ok)button.setOnClickListener(new OnClickListener(){public void onClick(View v) {Animation animation=AnimationUtils.loadAnimation(HelloActivity.this,R.anim.buttonain);findViewById(R.id.listView).startAnimation(animation);}});