android动画view上移,Android ImageView开启TranslateAnimation之后,如何得到移动过程中的位置。...

采用Animation.AnimationListener,在onAnimationEnd的方法中改变当前视图利用LayoutParams的setMargins方法重新定位位置。

代码:

public void move() {

jqkjScroll.setEnabled(true);

Animation mTranslateAnimation = new TranslateAnimation(0, 0, 0,

-showheight);// 移动

mTranslateAnimation.setDuration(minute);

// mAnimationSet.setFillAfter(true);

// mTranslateAnimation.setFillAfter(true);

mTranslateAnimation

.setAnimationListener(new Animation.AnimationListener() {

public void onAnimationStart(Animation animation) {

if (isNoMenu == false) {

curent.setVisibility(View.GONE);

}

}

public void onAnimationEnd(Animation animation) {

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(

contentLayout.getLayoutParams());

contentImg.setImageResource(R.drawable.open);

params.setMargins(0, endY - startY, 0, 0);

contentLayout.clearAnimation();

contentLayout.setLayoutParams(params);

jqkjScroll.scrollTo(0, 0);

isMoveORShowing = false;

}

public void onAnimationRepeat(Animation animation) {

}

});

contentLayout.startAnimation(mTranslateAnimation);

}

public void show() {

jqkjScroll.setEnabled(false);

Animation mTranslateAnimation = new TranslateAnimation(0, 0, 0,

showheight);// 移动

mTranslateAnimation.setDuration(minute);

mTranslateAnimation

.setAnimationListener(new Animation.AnimationListener() {

public void onAnimationStart(Animation animation) {

if (isNoMenu == false) {

curent.setVisibility(View.VISIBLE);

}

}

public void onAnimationEnd(Animation animation) {

contentImg.setImageResource(R.drawable.close);

isMoveORShowing = false;

contentLayout.clearAnimation();

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(

contentLayout.getLayoutParams());

params.setMargins(0, showheight + endY - startY, 0, 0);

contentLayout.setLayoutParams(params);

}

public void onAnimationRepeat(Animation animation) {

}

});

contentLayout.startAnimation(mTranslateAnimation);

}

取消

评论

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值