首先新建一个android project
然后在res目录下新建一个anim文件夹
在anim文件夹下新建一个myanim.xml文件,内容如下
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="2000"
/>
<scale
android: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="3000"
/>
<translate
android:fromXDelta="30"
android:toXDelta="0"
android:toYDelta="50"
android:duration="3000"
/>
<rotate
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromDegrees="0"
android:toDegrees="+350"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
/>
</set>
MainActivity.java
package com.example.animation;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
public class MainActivity extends Activity {
Animation myAnimation;
ImageView myImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myAnimation=AnimationUtils.loadAnimation(this,R.anim.myanim);
myImageView=(ImageView)this.findViewById(R.id.myImageView);
myImageView.startAnimation(myAnimation);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:id="@+id/myImageView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/test"
/>
</LinearLayout>
在myanim.xml中定义了一系列的变换。
这些变换在执行时是同步执行的。
scale是尺寸变化
interpolator是动画插入器
translate是位置变换操作
rotate是旋转操作
pivotX和pivotY设置动画相对于自身的位置。
注 代码摘自<<android 2.0 游戏开发实战>>一书