在做X6影院的时候遇到了一个问题,需要在引导页做特效,做一个平移的动画,在平移的同时,做透明度变化。
//平移动画。需要获取到屏幕的宽高比,获取代码如下private WindowManager windowManager;
private int width;
private int height;
windowManager= this.getWindowManager();
width = windowManager.getDefaultDisplay().getWidth();//好的宽度
height = windowManager.getDefaultDisplay().getHeight();//获得高度
要让两个动画同时执行。可以用动画集合的方式,把两个动画都放到一个集合中。代码如下:
private ImageView imageView;
public final long ANIMATION_TIME = 2500;
imageView = (ImageView)findViewById(R.id.logo);
//1.透明度变化特效
AlphaAnimation animation = new AlphaAnimation(0,1);
animation.setDuration(ANIMATION_TIME);
animation.setFillAfter(true);
//2.移动动画
TranslateAnimation translateAnimation = new TranslateAnimation(0,0,0,-100);//float fromXDelta 动画开始的点离当前View X坐标上的差值 float toXDelta 动画结束的点离当前View X坐标上的差值 float fromYDelta 动画开始的点离当前View Y坐标上的差值 float toYDelta 动画开始的点离当前View Y坐标上的差值
translateAnimation.setDuration(ANIMATION_TIME);
translateAnimation.setFillAfter(true);
//设置动画集合
AnimationSet set = new AnimationSet(false);
set.addAnimation(animation);
set.addAnimation(translateAnimation);
imageView.startAnimation(set);