Android快速SDK(25)动画库Animation

代码:http://download.csdn.net/detail/huangbin95487710/9261465

依赖包模式

  1. 对话框,悬浮框动画【Anim
    • package General.Animation;
      
      import android.app.Dialog;
      import android.content.Context;
      import android.view.View;
      import android.view.animation.Animation;
      import android.view.animation.AnimationUtils;
      import android.widget.PopupWindow;
      import app.general.lib.R;
      
      /**
       * 动画脚本
       * 
       * @author HuangYi
       * @see QQ:95487710
       **/
      public class Anim {
      
      	/**
      	 * 从下往上弹动画
      	 * */
      	public static final int ANIM_BOTTOM_TOP = 0;
      
      	/**
      	 * 从右往左弹动画
      	 * */
      	public static final int ANIM_RIGHT_LEFT = 1;
      
      	public static void setAnimBottomToTop(PopupWindow mView) {
      		setAnimationStyle(mView, R.style.BootomToTopAnim);
      	}
      
      	public static void setAnimationStyle(PopupWindow mView, int mAnimStyle) {
      		if (mView == null || mAnimStyle <= 0)
      			return;
      		mView.setAnimationStyle(mAnimStyle);
      	}
      
      	public static void setAnimBottomToTop(Dialog mView) {
      		setAnimationStyle(mView, R.style.BootomToTopAnim);
      	}
      
      	public static void setAnimationStyle(Dialog mView, int mAnimStyle) {
      		if (mView == null || mAnimStyle <= 0)
      			return;
      		mView.getWindow().setWindowAnimations(mAnimStyle);
      	}
      
      	public static void setAnimBottomToTop(Context mContext, View mView) {
      		setAnimationStyle(mContext, mView, R.anim.bottom_to_top_in);
      	}
      
      	public static void setAnimationStyle(Context mContext, View mView,
      			int mAnimId) {
      		if (mContext == null || mView == null || mAnimId <= 0)
      			return;
      		Animation alphaAnimation = AnimationUtils.loadAnimation(mContext,
      				mAnimId);
      		mView.setAnimation(alphaAnimation);
      	}
      
      }


  2. 布局动画【AnimLayout】
    • package General.Animation;
      
      import android.view.ViewGroup;
      import android.view.animation.Animation;
      import android.view.animation.RotateAnimation;
      
      
      /**
       * 布局动画
       * 
       * @author HuangYi
       * @see QQ:95487710
       **/
      public class AnimLayout {
      	// 图标的动画(入动画)
      	public static void startAnimIn(ViewGroup viewgroup, int durationMillis) {
      
      		viewgroup.setVisibility(0);
      		for (int i = 0; i < viewgroup.getChildCount(); i++) {
      			viewgroup.getChildAt(i).setVisibility(0);
      			viewgroup.getChildAt(i).setClickable(true);
      			viewgroup.getChildAt(i).setFocusable(true);
      		}
      		Animation animation;
      		animation = new RotateAnimation(-180, 0, Animation.RELATIVE_TO_SELF,
      				0.5f, Animation.RELATIVE_TO_SELF, 1.0f);
      		animation.setFillAfter(true);
      		animation.setDuration(durationMillis);
      		viewgroup.startAnimation(animation);
      
      	}
      
      	// 图标的动画(出动画)
      	public static void startAnimOut(final ViewGroup viewgroup,
      			int durationMillis, int startOffset) {
      
      		Animation animation;
      		animation = new RotateAnimation(0, -180, Animation.RELATIVE_TO_SELF,
      				0.5f, Animation.RELATIVE_TO_SELF, 1.0f);
      		animation.setFillAfter(true);
      		animation.setDuration(durationMillis);
      		animation.setStartOffset(startOffset);
      		animation.setAnimationListener(new Animation.AnimationListener() {
      			@Override
      			public void onAnimationStart(Animation arg0) {
      			}
      
      			@Override
      			public void onAnimationRepeat(Animation arg0) {
      			}
      
      			@Override
      			public void onAnimationEnd(Animation arg0) {
      				viewgroup.setVisibility(8);
      				for (int i = 0; i < viewgroup.getChildCount(); i++) {
      					viewgroup.getChildAt(i).setVisibility(8);
      					viewgroup.getChildAt(i).setClickable(false);
      					viewgroup.getChildAt(i).setFocusable(false);
      				}
      			}
      		});
      		viewgroup.startAnimation(animation);
      	}
      
      }
      



版权声明:本文为huangbin95487710原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。