android path menu,PATH menu

importandroid.content.Context;importandroid.view.ViewGroup;importandroid.view.ViewGroup.MarginLayoutParams;importandroid.view.animation.Animation;importandroid.view.animation.AnticipateInterpolator;importandroid.view.animation.OvershootInterpolator;importandroid.view.animation.RotateAnimation;importandroid.view.animation.TranslateAnimation;importandroid.widget.ImageButton;public classMyAnimations{private static int xOffset = 15;private static int yOffset = -13;public static void initOffset(Context context){//鐢卞竷灞�枃浠�

xOffset = (int) (10.667 *context.getResources().getDisplayMetrics().density);

yOffset= -(int) (8.667 *context.getResources().getDisplayMetrics().density);

}public static Animation getRotateAnimation(float fromDegrees ,float toDegrees,intdurationMillis){

RotateAnimation rotate= newRotateAnimation(fromDegrees, toDegrees,

Animation.RELATIVE_TO_SELF,0.5f, Animation.RELATIVE_TO_SELF, 0.5f);

rotate.setDuration(durationMillis);

rotate.setFillAfter(true);returnrotate;

}public static void startAnimationsIn(ViewGroup viewgroup,intdurationMillis) {for (int i = 0; i < viewgroup.getChildCount(); i++) {

ImageButton inoutimagebutton=(ImageButton) viewgroup

.getChildAt(i);

inoutimagebutton.setVisibility(0);

MarginLayoutParams mlp=(MarginLayoutParams) inoutimagebutton.getLayoutParams();

Animation animation= new TranslateAnimation(mlp.rightMargin-xOffset,0F,yOffset +mlp.bottomMargin, 0F);

animation.setFillAfter(true);animation.setDuration(durationMillis);

animation.setStartOffset((i* 100)/ (-1 +viewgroup.getChildCount()));

animation.setInterpolator(newOvershootInterpolator(2F));

inoutimagebutton.startAnimation(animation);

}

}public static void startAnimationsOut(ViewGroup viewgroup,intdurationMillis) {for (int i = 0; i < viewgroup.getChildCount(); i++) {final ImageButton inoutimagebutton =(ImageButton) viewgroup

.getChildAt(i);

MarginLayoutParams mlp=(MarginLayoutParams) inoutimagebutton.getLayoutParams();

Animation animation= new TranslateAnimation(0F,mlp.rightMargin-xOffset, 0F,yOffset +mlp.bottomMargin);

animation.setFillAfter(true);animation.setDuration(durationMillis);

animation.setStartOffset(((viewgroup.getChildCount()-i) * 100)/ (-1 + viewgroup.getChildCount()));//椤哄簭鍊掍竴涓嬫瘮杈冭垝鏈�

animation.setInterpolator(newAnticipateInterpolator(2F));

animation.setAnimationListener(newAnimation.AnimationListener() {

@Overridepublic voidonAnimationStart(Animation arg0) {}

@Overridepublic voidonAnimationRepeat(Animation arg0) {}

@Overridepublic voidonAnimationEnd(Animation arg0) {//TODO Auto-generated method stub

inoutimagebutton.setVisibility(8);

}

});

inoutimagebutton.startAnimation(animation);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值