Tween动画,通过对 View 的内容进行一系列的图形变换 (包括平移、缩放、旋转、改变透明度)来实现动画效果。动画效果的定义可以采用XML来做也可以采用编码来做。
Tween动画有4种类型:
例子:
布局文件
核心代码:
public class DemoActivity extends Activity {
private ImageView iv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
iv = (ImageView) this.findViewById(R.id.iv);
}
/**
* 透明度变化的动画
*/
public void alpha(View view) {
// AlphaAnimation aa = new AlphaAnimation(0.0f, 1.0f);
// aa.setDuration(2000);
Animation aa = AnimationUtils.loadAnimation(this, R.anim.alpha);
iv.startAnimation(aa);
}
/**
* 旋转变化的动画
*/
public void rotate(View view) {
// RotateAnimation ra = new RotateAnimation(0, 90);
// RotateAnimation ra = new RotateAnimation(0, 90,
// (iv.getRight()+iv.getLeft())/2, (iv.getTop()+iv.getBottom())/2);
// 怎么去定义旋转的中间位置?
// RotateAnimation ra = new RotateAnimation(0, 90, 0.5f, 0.5f);
// ra.setDuration(2000);
Animation ra = AnimationUtils.loadAnimation(this, R.anim.rotate);
iv.startAnimation(ra);
}
/**
* 尺寸缩放的动画
*/
public void scale(View view) {
// ScaleAnimation sa = new ScaleAnimation(0.0f, 2.0f, 0.0f, 2.0f);
// sa.setDuration(2000);
Animation sa = AnimationUtils.loadAnimation(this, R.anim.scale);
iv.startAnimation(sa);
}
/**
* 位置移动的动画
*/
public void translate(View view) {
// TranslateAnimation ta = new TranslateAnimation(0, 200, 0, 200);
// ta.setDuration(2000);
Animation ta = AnimationUtils.loadAnimation(this, R.anim.translate);
iv.startAnimation(ta);
}
/**
* 动画的组合
*/
public void set(View view) {
// AlphaAnimation aa = new AlphaAnimation(0.0f, 1.0f);
// aa.setDuration(2000);
// RotateAnimation ra = new RotateAnimation(0, 90);
// ra.setDuration(2000);
// TranslateAnimation ta = new TranslateAnimation(0, 200, 0, 200);
// ta.setDuration(2000);
// AnimationSet set = new AnimationSet(false);
// set.addAnimation(ta);
// set.addAnimation(ra);
// set.addAnimation(aa);
// iv.startAnimation(set);
Animation aa = AnimationUtils.loadAnimation(this, R.anim.set);
iv.startAnimation(aa);
}
}
alpha.xml文件
rotate.xml scale.xml translate.xml 就不上代码了
set.xml文件