您的位置:首页 > 移动开发 > Android开发

Android快速SDK(25)动画库Animation

2015-11-11 17:57 330 查看

代码: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);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: