这篇和最早写的那篇都是实现动画效果而上一篇Android上运用Animation开发简单动画程序是通过代码实现的补间动画
主程序的布局以及实现效果都和代码实现的那一片一致,所以在这里只给出动画的xml文件内容,以及MainActivity的内容
Alpha.xml 明暗变化
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<alpha
android:duration="1000"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
rotate.xml 旋转变化
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<rotate
android:duration="2400"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="3"
android:toDegrees="359" />
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:duration="1000"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.0"
android:toYScale="0.0" />
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="2000"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:toXDelta="100%"
android:toYDelta="100%" />
</set>
最后给出MainActivity
public class MainActivity extends Activity {
// 旋转按钮
private Button mRotateBtn = null;
// 缩放按钮
private Button mScaleBtn = null;
// 淡入淡出按钮
private Button mAlphaBtn = null;
// 移动按钮
private Button mTranslateBtn = null;
// 图片视图
private ImageView image = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.animation);
// 初始化imageView
image = (ImageView)findViewById(R.id.image);
// 初始化旋转按钮
mRotateBtn = (Button) findViewById(R.id.rotatebtn);
mRotateBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Animation anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate);
anim.setInterpolator(new LinearInterpolator());
image.startAnimation(anim);
}
});
// 初始化缩放按钮
mScaleBtn = (Button)findViewById(R.id.scalebtn);
mScaleBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Animation anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.scale);
image.startAnimation(anim);
}
});
// 初始化淡入淡出按钮
mAlphaBtn = (Button)findViewById(R.id.alphabtn);
mAlphaBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Animation anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.alpha);
image.startAnimation(anim);
}
});
// 初始化移动按钮
mTranslateBtn = (Button)findViewById(R.id.translatebtn);
mTranslateBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Animation anim = AnimationUtils.loadAnimation(MainActivity.this,R.anim.translate);
image.startAnimation(anim);
}
});
}
}
效果见 点击打开链接