public class MainActivity extends Activity {
private ImageView imgA, imgB;
private ScaleAnimation sa1;
private ScaleAnimation sa2;
//显示A图隐藏B图
private void showA() {
imgA.setVisibility(View.VISIBLE);
imgB.setVisibility(View.INVISIBLE);
}
//显示B图隐藏A图
private void showB() {
imgB.setVisibility(View.VISIBLE);
imgA.setVisibility(View.INVISIBLE);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgA = (ImageView) findViewById(R.id.im1);
imgB = (ImageView) findViewById(R.id.im2);
showA(); //初始状态显示A图隐藏B图,初始化缩放动画SA1向中心点横向缩小以及SA2向中心点纵向放大
sa1 = new ScaleAnimation(1, 0, 1, 1, Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f);
sa2 = new ScaleAnimation(1, 1, 0, 1, Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f);
sa1.setDuration(1000);
sa2.setDuration(1000);
findViewById(R.id.im1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgA.startAnimation(sa1);
sa1.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
imgB.startAnimation(sa2);
showB();//动画SA1结束时,启动动画SA2由中心纵向放大,然后显示B图,隐藏A图
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
});
findViewById(R.id.im2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgB.startAnimation(sa1);
sa1.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
imgA.startAnimation(sa2);
showA();//动画SA1结束时,启动动画SA2由中心纵向放大,然后显示A图,隐藏B图
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
});
}
}
private ImageView imgA, imgB;
private ScaleAnimation sa1;
private ScaleAnimation sa2;
//显示A图隐藏B图
private void showA() {
imgA.setVisibility(View.VISIBLE);
imgB.setVisibility(View.INVISIBLE);
}
//显示B图隐藏A图
private void showB() {
imgB.setVisibility(View.VISIBLE);
imgA.setVisibility(View.INVISIBLE);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgA = (ImageView) findViewById(R.id.im1);
imgB = (ImageView) findViewById(R.id.im2);
showA(); //初始状态显示A图隐藏B图,初始化缩放动画SA1向中心点横向缩小以及SA2向中心点纵向放大
sa1 = new ScaleAnimation(1, 0, 1, 1, Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f);
sa2 = new ScaleAnimation(1, 1, 0, 1, Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.5f);
sa1.setDuration(1000);
sa2.setDuration(1000);
findViewById(R.id.im1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgA.startAnimation(sa1);
sa1.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
imgB.startAnimation(sa2);
showB();//动画SA1结束时,启动动画SA2由中心纵向放大,然后显示B图,隐藏A图
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
});
findViewById(R.id.im2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgB.startAnimation(sa1);
sa1.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
imgA.startAnimation(sa2);
showA();//动画SA1结束时,启动动画SA2由中心纵向放大,然后显示A图,隐藏B图
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
});
}
}