android动画Scale+Translate

/**
* 移动缩小动画
* @author 岳振华
*
*/
@SuppressWarnings("unused")
public class MainActivity extends Activity {
private Animation myAnimation;
private ImageView imageView;
private ScaleAnimation myAnimation_Scale;//移动动画
private TranslateAnimation myAnimation_Translate;//缩放动画


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// imageView=(ImageView) this.findViewById(R.id.main_img);

LinearLayout linearLayout=(LinearLayout) this.findViewById(R.id.layout_main);

imageView=new ImageView(this);

//xml方法实现
// myAnimation= AnimationUtils.loadAnimation(this,R.anim.scal);

//移动
myAnimation_Scale =new ScaleAnimation(1.0f, //动画起始时 X坐标上的伸缩尺寸
0.0f,//动画结束时 X坐标上的伸缩尺寸
1.0f, //动画起始时Y坐标上的伸缩尺寸
0.0f,//动画结束时Y坐标上的伸缩尺寸
Animation.RELATIVE_TO_SELF,//
0.5f,//动画相对于物件的X坐标的开始位置
Animation.RELATIVE_TO_SELF, //
1.0f);//动画相对于物件的Y坐标的开始位置
myAnimation_Scale.setFillAfter(true);
myAnimation_Scale.setDuration(2000);

//缩放
myAnimation_Translate=new TranslateAnimation(160f,//动画起始时 X坐标上的位置
320f,//画结束时 X坐标上的位置
240f,//动画起始时 Y坐标上的位置
0f);//动画结束时 Y坐标上的位置
myAnimation_Translate.setFillAfter(true);
myAnimation_Translate.setDuration(2000);


AnimationSet animationSet=new AnimationSet(true);
animationSet.addAnimation(myAnimation_Scale);
animationSet.addAnimation(myAnimation_Translate);

animationSet.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation animation) {

}

@Override
public void onAnimationRepeat(Animation animation) {

}

@Override
public void onAnimationEnd(Animation animation) {
imageView.setVisibility(View.GONE);
}
});
imageView.setBackgroundResource(R.drawable.icon);
imageView.startAnimation(animationSet);
LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
linearLayout.addView(imageView,params);

}
}

你可能感兴趣的:(android)