代码:http://download.csdn.net/detail/huangbin95487710/9261465
依赖包模式
- 对话框,悬浮框动画【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); } }
- 布局动画【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版权协议,转载请附上原文出处链接和本声明。