当前位置: 代码迷 >> Android >> android卡通基础:tween动画
  详细解决方案

android卡通基础:tween动画

热度:69   发布时间:2016-05-01 10:52:56.0
android动画基础:tween动画
工程结构图:
[img]

[/img]


四个动画的xml文件:
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"    android:shareInterpolator="false">    <alpha        android:fromAlpha="1.0"        android:toAlpha="0"         android:duration="5000"    />    </set><!-- alpha标识透明度,android:fromAlpha表示动画开始时的透明度,1.0表示一点都不透明,android:toAlpha="0" 表示动画结束后的透明度,0表示完全透明,android:duration="5000"表示动画持续的时间,即从不透明到完全透明的时间为5秒钟 -->


<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"    android:shareInterpolator="false">    <translate        android:fromXDelta="0"        android:fromYDelta="0"        android:toXDelta="100"        android:toYDelta="100"         android:duration="5000"    />    </set><!-- translate表示动画中的移动 android:fromXDelta="0"  android:fromYDelta="0" 表示动画开始时的位置为控件的自身位置  android:toXDelta="100"  android:toYDelta="100" 表示动画结束后,x坐标 y坐标都增加100,即向右下方移动 android:duration="5000" 表示动画持续的时间--> 


<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"    android:shareInterpolator="false">    <scale        android:fromXScale="1.0"        android:fromYScale="1.0"        android:toXScale="5.0"        android:toYScale="5.0"        android:pivotX="50%"        android:pivotY="50%"        android:duration="5000"    />    </set><!-- scale动画中的缩放android:fromXScale="1.0"表示动画开始时宽度是控件自身宽度的1.0被。android:fromYScale="1.0"表示动画开始时高度度是控件自身高度的1.0被。android:toXScale="5.0" 表示动画结束后宽度扩大到原来的5被。android:toYScale="5.0" 表示动画结束后高度扩大到原来的5被。android:pivotX="50%"   android:pivotY="50%"表示以中心点为参考点进行缩放android:duration="5000" 表示动画的持续时间为5000毫秒=5秒。 -->


<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"    android:shareInterpolator="false">    <rotate        android:fromDegrees="0"        android:toDegrees="360"        android:pivotX="50%"        android:pivotY="50%"         android:duration="5000"    />    </set><!-- rotate控制动画中的旋转android:fromDegrees="0" 表示初始时的角度为0度。android:toDegrees="360" 表示将要旋转360度。android:pivotX="50%"   android:pivotY="50%"  表示旋转时以空间本身的中心点为中心进行旋转。android:duration="5000"  表示动画持续时间为5000毫秒 -->



MainActivity:
package com.zzl.animation;import android.app.Activity;import android.os.Bundle;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.view.animation.RotateAnimation;import android.widget.ImageView;public class MainActivity extends Activity {	@Override	public void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.main);		// 1,透明动画效果		Animation animation1 = AnimationUtils.loadAnimation(MainActivity.this,				R.anim.alpha);		// 2,移动动画效果		Animation animation2 = AnimationUtils.loadAnimation(MainActivity.this,				R.anim.translate);		// 3,缩放动画效果		Animation animation3 = AnimationUtils.loadAnimation(MainActivity.this,				R.anim.scale);		// 4,旋转动画效果		Animation animation4 = AnimationUtils.loadAnimation(MainActivity.this,				R.anim.rotate);		// 如果设为 true,表示设置动画完成后保持动画后的状态		animation1.setFillAfter(true);		// animation2.setFillAfter(true);		/**		 * 用代码添加一个旋转动画		 */		Animation animation = new RotateAnimation(0, 360,				Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,				0.5f);		animation.setDuration(10000);		ImageView iv = (ImageView) findViewById(R.id.iv);		iv.setAnimation(animation);	}}
  相关解决方案